MCP Tools Reference: saasservicemgmt

Alat: create_unit

Membuat resource Unit. Parameter wajib: 'parent' (mis. projects/my-project/locations/us-central1), 'unit_id', 'unit'. Parameter opsional: 'validate_only', 'request_id'.

Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_unit.

Permintaan Curl
                  
curl --location 'https://saasservicemgmt.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_unit",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Skema Input

Struktur permintaan untuk metode CreateUnit.

CreateUnitRequest

Representasi JSON
{
  "parent": string,
  "unitId": string,
  "unit": {
    object (Unit)
  },
  "validateOnly": boolean,
  "requestId": string
}
Kolom
parent

string

Wajib. Induk unit.

unitId

string

Wajib. Nilai ID untuk unit baru.

unit

object (Unit)

Wajib. Status yang diinginkan untuk unit.

validateOnly

boolean

Jika "validate_only" disetel ke benar (true), layanan akan mencoba memvalidasi bahwa permintaan ini akan berhasil, tetapi tidak akan benar-benar melakukan perubahan.

requestId

string

ID permintaan opsional untuk mengidentifikasi permintaan. Tentukan ID permintaan unik sehingga jika Anda harus mencoba lagi permintaan, server akan tahu untuk mengabaikan permintaan jika sudah selesai. Server akan menjamin hal tersebut setidaknya selama 60 menit sejak permintaan pertama.

Misalnya, pertimbangkan situasi saat Anda membuat permintaan awal dan waktu permintaan habis. Jika Anda membuat permintaan lagi dengan ID permintaan yang sama, server dapat memeriksa apakah operasi asli dengan ID permintaan yang sama telah diterima, dan jika iya, akan mengabaikan permintaan kedua. Tindakan ini mencegah klien membuat komitmen duplikat secara tidak sengaja.

ID permintaan harus berupa UUID yang valid, kecuali UUID nol tidak didukung (00000000-0000-0000-0000-000000000000).

Unit

Representasi JSON
{
  "name": string,
  "unitKind": string,
  "release": string,
  "tenant": string,
  "ongoingOperations": [
    string
  ],
  "pendingOperations": [
    string
  ],
  "scheduledOperations": [
    string
  ],
  "dependents": [
    {
      object (UnitDependency)
    }
  ],
  "dependencies": [
    {
      object (UnitDependency)
    }
  ],
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "outputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "maintenance": {
    object (MaintenanceSettings)
  },
  "state": enum (UnitState),
  "conditions": [
    {
      object (UnitCondition)
    }
  ],
  "managementMode": enum (ManagementMode),
  "systemManagedState": enum (SystemManagedState),
  "systemCleanupAt": string,
  "flagRevisions": [
    string
  ],
  "application": string,
  "flagConfigName": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean
}
Kolom
name

string

ID. Nama resource (URI lengkap resource) yang mengikuti skema penamaan standar:

"projects/{project}/locations/{location}/units/{unit}"

unitKind

string

Opsional. Referensi ke UnitKind tempat Unit ini berada. Tidak dapat diubah setelah ditetapkan.

release

string

Opsional. Hanya output. Objek Rilis saat ini untuk Unit ini.

tenant

string

Opsional. Referensi ke resource Saas Tenant yang memiliki unit ini. Misalnya, hal ini memberi tahu kebijakan pemeliharaan yang akan digunakan untuk menjadwalkan update mendatang pada unit. (opsional dan tidak dapat diubah setelah dibuat)

ongoingOperations[]

string

Opsional. Hanya output. Daftar UnitOperation serentak yang beroperasi di Unit ini.

pendingOperations[]

string

Opsional. Hanya output. Daftar UnitOperation yang tertunda (menunggu untuk dieksekusi) untuk unit ini.

scheduledOperations[]

string

Opsional. Hanya output. Daftar UnitOperation terjadwal untuk unit ini.

dependents[]

object (UnitDependency)

Opsional. Hanya output. Daftar Unit yang bergantung pada unit ini. Unit hanya dapat dihentikan penyediaannya jika daftar ini kosong. Maksimum 1000.

dependencies[]

object (UnitDependency)

Opsional. Hanya output. Set dependensi untuk unit ini. Maksimum 10.

inputVariables[]

object (UnitVariable)

Opsional. Hanya output. Menunjukkan variabel input saat ini yang di-deploy oleh unit

outputVariables[]

object (UnitVariable)

Opsional. Hanya output. Kumpulan pasangan kunci/nilai yang sesuai dengan variabel output dari eksekusi template aktuasi. Variabel dideklarasikan dalam konfigurasi aktuasi (misalnya, dalam helm chart atau terraform) dan nilai diambil serta ditampilkan oleh mesin aktuasi setelah eksekusi selesai.

maintenance

object (MaintenanceSettings)

Opsional. Mencatat arahan yang diminta untuk melakukan pemeliharaan unit di masa mendatang. Hal ini mencakup permintaan agar unit melewati pemeliharaan selama jangka waktu tertentu dan tetap disematkan ke rilis saat ini serta kontrol untuk menunda pemeliharaan yang dijadwalkan pada masa mendatang.

state

enum (UnitState)

Opsional. Hanya output. Status siklus proses resource saat ini (misalnya, jika sedang dibuat atau siap digunakan).

conditions[]

object (UnitCondition)

Opsional. Hanya output. Serangkaian kondisi yang menunjukkan berbagai kondisi yang dapat dimiliki resource ini.

managementMode

enum (ManagementMode)

Opsional. Tidak dapat diubah. Menunjukkan apakah Siklus proses unit dikontrol oleh pengguna atau oleh sistem. Tidak dapat diubah setelah dibuat.

systemManagedState

enum (SystemManagedState)

Opsional. Hanya output. Menunjukkan status unit yang dikelola sistem.

systemCleanupAt

string (Timestamp format)

Opsional. Hanya output. Jika disetel, menunjukkan waktu saat sistem akan mulai menghapus unit.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

flagRevisions[]

string

Opsional. Hanya output. Revisi bendera yang digunakan oleh Unit ini.

application

string

Opsional. Referensi ke Aplikasi AppHub tempat unit ini berada. Semua resource yang di-deploy di Unit ini akan dikaitkan dengan Aplikasi yang ditentukan.

flagConfigName

string

Hanya output. Kolom ini menyimpan ID unik untuk konfigurasi tanda yang akan digunakan oleh Unit ini.

labels

map (key: string, value: string)

Opsional. Label pada resource, yang dapat digunakan untuk kategorisasi, mirip dengan label resource Kubernetes.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

Opsional. Anotasi adalah peta nilai kunci tidak terstruktur yang disimpan dengan resource yang dapat ditetapkan oleh alat eksternal untuk menyimpan dan mengambil metadata arbitrer. Objek ini tidak dapat dikueri dan harus dipertahankan saat mengubah objek.

Info selengkapnya: https://kubernetes.io/docs/user-guide/annotations

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Hanya output. ID unik resource. UID bersifat unik dalam waktu dan ruang untuk resource ini dalam cakupan layanan. ID ini biasanya dibuat oleh server saat pembuatan resource berhasil dan tidak boleh diubah. UID digunakan untuk mengidentifikasi resource secara unik dengan penggunaan ulang nama resource. Nilai ini harus berupa UUID4.

etag

string

Hanya output. Nilai buram yang secara unik mengidentifikasi versi atau generasi resource. Nilai ini dapat digunakan untuk mengonfirmasi bahwa klien dan server menyetujui pengurutan resource yang sedang ditulis.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource terakhir diperbarui. Setiap perubahan pada resource yang dilakukan oleh pengguna harus memperbarui nilai ini. Perubahan pada resource yang dilakukan oleh layanan harus memperbarui nilai ini.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

satisfiesPzs

boolean

Hanya output. Menunjukkan apakah lokasi resource memenuhi batasan Pemisahan Zona. Opsi ini false secara default.

satisfiesPzi

boolean

Hanya output. Dipesan untuk penggunaan di masa mendatang.

UnitDependency

Representasi JSON
{
  "alias": string,
  "unit": string
}
Kolom
alias

string

Hanya output. Alias untuk nama dependensi.

unit

string

Hanya output. Referensi ke objek Unit.

UnitVariable

Representasi JSON
{
  "variable": string,
  "type": enum (Type),
  "value": string
}
Kolom
variable

string

Wajib. Tidak dapat diubah. Nama variabel dari konfigurasi aktuasi.

type

enum (Type)

Opsional. Tidak dapat diubah. Nama jenis variabel yang didukung. Jenis yang didukung adalah string, int, bool.

value

string

Opsional. Nilai yang dienkode string untuk variabel.

MaintenanceSettings

Representasi JSON
{
  "pinnedUntilTime": string
}
Kolom
pinnedUntilTime

string (Timestamp format)

Opsional. Jika ada, akan memperbaiki rilis di unit hingga waktu yang ditentukan; yaitu perubahan pada kolom rilis akan ditolak. Peluncuran juga harus dan akan mematuhinya dengan tidak meminta upgrade sejak awal.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

UnitCondition

Representasi JSON
{
  "status": enum (Status),
  "type": enum (Type),
  "lastTransitionTime": string,
  "message": string,
  "reason": string
}
Kolom
status

enum (Status)

Wajib. Status kondisi.

type

enum (Type)

Wajib. Jenis kondisi.

lastTransitionTime

string (Timestamp format)

Wajib. Terakhir kali kondisi bertransisi dari satu status ke status lainnya.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

message

string

Wajib. Pesan yang dapat dibaca manusia yang menunjukkan detail tentang transisi terakhir.

reason

string

Wajib. Alasan singkat untuk transisi terakhir kondisi.

LabelsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

AnnotationsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

Skema Output

Unit deployment yang memiliki siklus prosesnya melalui CRUD API menggunakan mesin aktuasi di balik layar (misalnya, berdasarkan Terraform, Helm, atau penerapan kustom yang disediakan oleh produsen layanan). Blok penyusun Tenant SaaS.

Unit

Representasi JSON
{
  "name": string,
  "unitKind": string,
  "release": string,
  "tenant": string,
  "ongoingOperations": [
    string
  ],
  "pendingOperations": [
    string
  ],
  "scheduledOperations": [
    string
  ],
  "dependents": [
    {
      object (UnitDependency)
    }
  ],
  "dependencies": [
    {
      object (UnitDependency)
    }
  ],
  "inputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "outputVariables": [
    {
      object (UnitVariable)
    }
  ],
  "maintenance": {
    object (MaintenanceSettings)
  },
  "state": enum (UnitState),
  "conditions": [
    {
      object (UnitCondition)
    }
  ],
  "managementMode": enum (ManagementMode),
  "systemManagedState": enum (SystemManagedState),
  "systemCleanupAt": string,
  "flagRevisions": [
    string
  ],
  "application": string,
  "flagConfigName": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string,
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean
}
Kolom
name

string

ID. Nama resource (URI lengkap resource) yang mengikuti skema penamaan standar:

"projects/{project}/locations/{location}/units/{unit}"

unitKind

string

Opsional. Referensi ke UnitKind tempat Unit ini berada. Tidak dapat diubah setelah ditetapkan.

release

string

Opsional. Hanya output. Objek Rilis saat ini untuk Unit ini.

tenant

string

Opsional. Referensi ke resource Saas Tenant yang memiliki unit ini. Misalnya, hal ini memberi tahu kebijakan pemeliharaan yang akan digunakan untuk menjadwalkan update mendatang pada unit. (opsional dan tidak dapat diubah setelah dibuat)

ongoingOperations[]

string

Opsional. Hanya output. Daftar UnitOperation serentak yang beroperasi di Unit ini.

pendingOperations[]

string

Opsional. Hanya output. Daftar UnitOperation yang tertunda (menunggu untuk dieksekusi) untuk unit ini.

scheduledOperations[]

string

Opsional. Hanya output. Daftar UnitOperation terjadwal untuk unit ini.

dependents[]

object (UnitDependency)

Opsional. Hanya output. Daftar Unit yang bergantung pada unit ini. Unit hanya dapat dihentikan penyediaannya jika daftar ini kosong. Maksimum 1000.

dependencies[]

object (UnitDependency)

Opsional. Hanya output. Set dependensi untuk unit ini. Maksimum 10.

inputVariables[]

object (UnitVariable)

Opsional. Hanya output. Menunjukkan variabel input saat ini yang di-deploy oleh unit

outputVariables[]

object (UnitVariable)

Opsional. Hanya output. Kumpulan pasangan kunci/nilai yang sesuai dengan variabel output dari eksekusi template aktuasi. Variabel dideklarasikan dalam konfigurasi aktuasi (misalnya, dalam helm chart atau terraform) dan nilai diambil serta ditampilkan oleh mesin aktuasi setelah eksekusi selesai.

maintenance

object (MaintenanceSettings)

Opsional. Mencatat arahan yang diminta untuk melakukan pemeliharaan unit di masa mendatang. Hal ini mencakup permintaan agar unit melewati pemeliharaan selama jangka waktu tertentu dan tetap disematkan ke rilis saat ini serta kontrol untuk menunda pemeliharaan yang dijadwalkan pada masa mendatang.

state

enum (UnitState)

Opsional. Hanya output. Status siklus proses resource saat ini (misalnya, jika sedang dibuat atau siap digunakan).

conditions[]

object (UnitCondition)

Opsional. Hanya output. Serangkaian kondisi yang menunjukkan berbagai kondisi yang dapat dimiliki resource ini.

managementMode

enum (ManagementMode)

Opsional. Tidak dapat diubah. Menunjukkan apakah Siklus proses unit dikontrol oleh pengguna atau oleh sistem. Tidak dapat diubah setelah dibuat.

systemManagedState

enum (SystemManagedState)

Opsional. Hanya output. Menunjukkan status unit yang dikelola sistem.

systemCleanupAt

string (Timestamp format)

Opsional. Hanya output. Jika disetel, menunjukkan waktu saat sistem akan mulai menghapus unit.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

flagRevisions[]

string

Opsional. Hanya output. Revisi bendera yang digunakan oleh Unit ini.

application

string

Opsional. Referensi ke Aplikasi AppHub tempat unit ini berada. Semua resource yang di-deploy di Unit ini akan dikaitkan dengan Aplikasi yang ditentukan.

flagConfigName

string

Hanya output. Kolom ini menyimpan ID unik untuk konfigurasi tanda yang akan digunakan oleh Unit ini.

labels

map (key: string, value: string)

Opsional. Label pada resource, yang dapat digunakan untuk kategorisasi, mirip dengan label resource Kubernetes.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

Opsional. Anotasi adalah peta nilai kunci tidak terstruktur yang disimpan dengan resource yang dapat ditetapkan oleh alat eksternal untuk menyimpan dan mengambil metadata arbitrer. Objek ini tidak dapat dikueri dan harus dipertahankan saat mengubah objek.

Info selengkapnya: https://kubernetes.io/docs/user-guide/annotations

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Hanya output. ID unik resource. UID bersifat unik dalam waktu dan ruang untuk resource ini dalam cakupan layanan. ID ini biasanya dibuat oleh server saat pembuatan resource berhasil dan tidak boleh diubah. UID digunakan untuk mengidentifikasi resource secara unik dengan penggunaan ulang nama resource. Nilai ini harus berupa UUID4.

etag

string

Hanya output. Nilai buram yang secara unik mengidentifikasi versi atau generasi resource. Nilai ini dapat digunakan untuk mengonfirmasi bahwa klien dan server menyetujui pengurutan resource yang sedang ditulis.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource terakhir diperbarui. Setiap perubahan pada resource yang dilakukan oleh pengguna harus memperbarui nilai ini. Perubahan pada resource yang dilakukan oleh layanan harus memperbarui nilai ini.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

satisfiesPzs

boolean

Hanya output. Menunjukkan apakah lokasi resource memenuhi batasan Pemisahan Zona. Opsi ini false secara default.

satisfiesPzi

boolean

Hanya output. Dipesan untuk penggunaan di masa mendatang.

UnitDependency

Representasi JSON
{
  "alias": string,
  "unit": string
}
Kolom
alias

string

Hanya output. Alias untuk nama dependensi.

unit

string

Hanya output. Referensi ke objek Unit.

UnitVariable

Representasi JSON
{
  "variable": string,
  "type": enum (Type),
  "value": string
}
Kolom
variable

string

Wajib. Tidak dapat diubah. Nama variabel dari konfigurasi aktuasi.

type

enum (Type)

Opsional. Tidak dapat diubah. Nama jenis variabel yang didukung. Jenis yang didukung adalah string, int, bool.

value

string

Opsional. Nilai yang dienkode string untuk variabel.

MaintenanceSettings

Representasi JSON
{
  "pinnedUntilTime": string
}
Kolom
pinnedUntilTime

string (Timestamp format)

Opsional. Jika ada, akan memperbaiki rilis di unit hingga waktu yang ditentukan; yaitu perubahan pada kolom rilis akan ditolak. Peluncuran juga harus dan akan mematuhinya dengan tidak meminta upgrade sejak awal.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

UnitCondition

Representasi JSON
{
  "status": enum (Status),
  "type": enum (Type),
  "lastTransitionTime": string,
  "message": string,
  "reason": string
}
Kolom
status

enum (Status)

Wajib. Status kondisi.

type

enum (Type)

Wajib. Jenis kondisi.

lastTransitionTime

string (Timestamp format)

Wajib. Terakhir kali kondisi bertransisi dari satu status ke status lainnya.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

message

string

Wajib. Pesan yang dapat dibaca manusia yang menunjukkan detail tentang transisi terakhir.

reason

string

Wajib. Alasan singkat untuk transisi terakhir kondisi.

LabelsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

AnnotationsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

Anotasi Alat

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌