Alat: update_repository
Perbarui properti repositori Dataform yang ada, seperti setelan Git jarak jauh, penggantian kompilasi ruang kerja, atau akun layanan default.
Prasyarat: Gunakan alat get_repository untuk membaca status repositori saat ini sebelum memperbarui.
Jika nilai parameter update_mask tidak ada, semua kolom yang dapat diubah akan diganti dengan nilai yang diberikan dalam nilai parameter repository. Untuk mengubah hanya kolom tertentu tanpa menghapus kolom lainnya, cantumkan kolom tersebut di update_mask.
Nilai parameter repository.name harus dalam format projects/{project_id}/locations/{location}/repositories/{repository}.
Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP update_repository.
| Permintaan Curl |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "update_repository", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Skema Input
Pesan permintaan UpdateRepository.
UpdateRepositoryRequest
| Representasi JSON |
|---|
{
"updateMask": string,
"repository": {
object ( |
| Kolom | |
|---|---|
updateMask |
Opsional. Menentukan kolom yang akan diperbarui di repositori. Jika tidak disetel, semua kolom akan diperbarui. Ini adalah comma-separated list berisi nama kolom yang sepenuhnya memenuhi syarat. Contoh: |
repository |
Wajib. Repositori yang akan diperbarui. |
FieldMask
| Representasi JSON |
|---|
{ "paths": [ string ] } |
| Kolom | |
|---|---|
paths[] |
Kumpulan jalur mask kolom. |
Repositori
| Representasi JSON |
|---|
{ "name": string, "createTime": string, "displayName": string, "gitRemoteSettings": { object ( |
| Kolom | |
|---|---|
name |
ID. Nama repositori. |
createTime |
Hanya output. Stempel waktu saat repositori 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: |
displayName |
Opsional. Nama repositori yang mudah digunakan. |
gitRemoteSettings |
Opsional. Jika disetel, mengonfigurasi repositori ini agar ditautkan ke Git jarak jauh. |
npmrcEnvironmentVariablesSecretVersion |
Opsional. Nama versi secret Secret Manager yang akan digunakan untuk menginterpolasi variabel ke dalam file .npmrc untuk operasi penginstalan paket. Harus dalam format |
workspaceCompilationOverrides |
Opsional. Jika disetel, kolom |
labels |
Opsional. Label pengguna repositori. Objek yang berisi daftar pasangan |
setAuthenticatedUserAdmin |
Opsional. Hanya input. Jika disetel ke benar (true), pengguna yang diautentikasi akan diberi peran roles/dataform.admin di repositori yang dibuat. Untuk mengubah akses ke repositori yang dibuat nanti, terapkan setIamPolicy dari https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories |
serviceAccount |
Opsional. Akun layanan yang akan menjalankan pemanggilan alur kerja. |
kmsKeyName |
Opsional. Referensi ke kunci enkripsi KMS. Jika disediakan, kunci ini akan digunakan untuk mengenkripsi data pengguna di repositori dan semua resource turunan. Kunci enkripsi tidak dapat ditambahkan atau diperbarui setelah repositori dibuat. Contoh: |
dataEncryptionState |
Hanya output. Status enkripsi data repositori Git jika Repositori ini dilindungi oleh kunci KMS. |
Kolom union
|
|
containingFolder |
Opsional. Nama folder yang berisi repositori. Kolom ini tidak dapat diubah dan dapat diubah melalui operasi MoveRepository. Format: |
Kolom union
|
|
teamFolderName |
Hanya output. Nama resource TeamFolder yang terkait dengan Repositori ini. Formatnya adalah: projects/{project}/locations/{location}/teamFolders/{teamFolder}. Jika tidak disetel, Repositori tidak dikaitkan dengan TeamFolder. |
Kolom union
|
|
internalMetadata |
Hanya output. Semua informasi metadata yang digunakan secara internal untuk menayangkan resource. Misalnya: stempel waktu, tanda, kolom status, dll. Format kolom ini adalah string JSON. |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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. |
GitRemoteSettings
| Representasi JSON |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| Kolom | |
|---|---|
url |
Wajib. URL Git remote. |
defaultBranch |
Opsional. Nama cabang default Git remote. Jika tidak disetel, |
effectiveDefaultBranch |
Hanya output. Nama cabang default efektif Git remote. Ini adalah nama cabang default dari Git remote jika ditetapkan, atau |
authenticationTokenSecretVersion |
Opsional. Nama versi secret Secret Manager yang akan digunakan sebagai token autentikasi untuk operasi Git. Harus dalam format |
sshAuthenticationConfig |
Opsional. Kolom autentikasi untuk URI jarak jauh menggunakan protokol SSH. |
tokenStatus |
Hanya output. Tidak digunakan lagi: Kolom tidak berisi informasi status token apa pun. Sebagai gantinya, gunakan https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus |
Kolom union
|
|
gitRepositoryLink |
Opsional. Nama resource untuk |
SshAuthenticationConfig
| Representasi JSON |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| Kolom | |
|---|---|
userPrivateKeySecretVersion |
Wajib. Nama versi secret Secret Manager yang akan digunakan sebagai kunci pribadi SSH untuk operasi Git. Harus dalam format |
hostPublicKey |
Wajib. Konten kunci SSH publik untuk memverifikasi identitas host Git jarak jauh. |
WorkspaceCompilationOverrides
| Representasi JSON |
|---|
{ "defaultDatabase": string, "schemaSuffix": string, "tablePrefix": string } |
| Kolom | |
|---|---|
defaultDatabase |
Opsional. Database default (ID project Google Cloud). |
schemaSuffix |
Opsional. Sufiks yang harus ditambahkan ke semua nama skema (ID set data BigQuery). |
tablePrefix |
Opsional. Awalan yang harus ditambahkan ke semua nama tabel. |
LabelsEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
DataEncryptionState
| Representasi JSON |
|---|
{ "kmsKeyVersionName": string } |
| Kolom | |
|---|---|
kmsKeyVersionName |
Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource. |
TokenStatus
Status token autentikasi.
| Enum | |
|---|---|
TOKEN_STATUS_UNSPECIFIED |
Nilai default. Nilai ini tidak digunakan. |
NOT_FOUND |
Token tidak dapat ditemukan di Secret Manager (atau Akun Layanan Dataform tidak memiliki izin untuk mengaksesnya). |
INVALID |
Token tidak dapat digunakan untuk melakukan autentikasi terhadap remote Git. |
VALID |
Token berhasil digunakan untuk mengautentikasi terhadap remote Git. |
Skema Output
Menampilkan repositori Git Dataform.
Repositori
| Representasi JSON |
|---|
{ "name": string, "createTime": string, "displayName": string, "gitRemoteSettings": { object ( |
| Kolom | |
|---|---|
name |
ID. Nama repositori. |
createTime |
Hanya output. Stempel waktu saat repositori 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: |
displayName |
Opsional. Nama repositori yang mudah digunakan. |
gitRemoteSettings |
Opsional. Jika disetel, mengonfigurasi repositori ini agar ditautkan ke Git jarak jauh. |
npmrcEnvironmentVariablesSecretVersion |
Opsional. Nama versi secret Secret Manager yang akan digunakan untuk menginterpolasi variabel ke dalam file .npmrc untuk operasi penginstalan paket. Harus dalam format |
workspaceCompilationOverrides |
Opsional. Jika disetel, kolom |
labels |
Opsional. Label pengguna repositori. Objek yang berisi daftar pasangan |
setAuthenticatedUserAdmin |
Opsional. Hanya input. Jika disetel ke benar (true), pengguna yang diautentikasi akan diberi peran roles/dataform.admin di repositori yang dibuat. Untuk mengubah akses ke repositori yang dibuat nanti, terapkan setIamPolicy dari https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories |
serviceAccount |
Opsional. Akun layanan yang akan menjalankan pemanggilan alur kerja. |
kmsKeyName |
Opsional. Referensi ke kunci enkripsi KMS. Jika disediakan, kunci ini akan digunakan untuk mengenkripsi data pengguna di repositori dan semua resource turunan. Kunci enkripsi tidak dapat ditambahkan atau diperbarui setelah repositori dibuat. Contoh: |
dataEncryptionState |
Hanya output. Status enkripsi data repositori Git jika Repositori ini dilindungi oleh kunci KMS. |
Kolom union
|
|
containingFolder |
Opsional. Nama folder yang berisi repositori. Kolom ini tidak dapat diubah dan dapat diubah melalui operasi MoveRepository. Format: |
Kolom union
|
|
teamFolderName |
Hanya output. Nama resource TeamFolder yang terkait dengan Repositori ini. Formatnya adalah: projects/{project}/locations/{location}/teamFolders/{teamFolder}. Jika tidak disetel, Repositori tidak dikaitkan dengan TeamFolder. |
Kolom union
|
|
internalMetadata |
Hanya output. Semua informasi metadata yang digunakan secara internal untuk menayangkan resource. Misalnya: stempel waktu, tanda, kolom status, dll. Format kolom ini adalah string JSON. |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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. |
GitRemoteSettings
| Representasi JSON |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| Kolom | |
|---|---|
url |
Wajib. URL Git remote. |
defaultBranch |
Opsional. Nama cabang default Git remote. Jika tidak disetel, |
effectiveDefaultBranch |
Hanya output. Nama cabang default efektif Git remote. Ini adalah nama cabang default dari Git remote jika ditetapkan, atau |
authenticationTokenSecretVersion |
Opsional. Nama versi secret Secret Manager yang akan digunakan sebagai token autentikasi untuk operasi Git. Harus dalam format |
sshAuthenticationConfig |
Opsional. Kolom autentikasi untuk URI jarak jauh menggunakan protokol SSH. |
tokenStatus |
Hanya output. Tidak digunakan lagi: Kolom tidak berisi informasi status token apa pun. Sebagai gantinya, gunakan https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus |
Kolom union
|
|
gitRepositoryLink |
Opsional. Nama resource untuk |
SshAuthenticationConfig
| Representasi JSON |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| Kolom | |
|---|---|
userPrivateKeySecretVersion |
Wajib. Nama versi secret Secret Manager yang akan digunakan sebagai kunci pribadi SSH untuk operasi Git. Harus dalam format |
hostPublicKey |
Wajib. Konten kunci SSH publik untuk memverifikasi identitas host Git jarak jauh. |
WorkspaceCompilationOverrides
| Representasi JSON |
|---|
{ "defaultDatabase": string, "schemaSuffix": string, "tablePrefix": string } |
| Kolom | |
|---|---|
defaultDatabase |
Opsional. Database default (ID project Google Cloud). |
schemaSuffix |
Opsional. Sufiks yang harus ditambahkan ke semua nama skema (ID set data BigQuery). |
tablePrefix |
Opsional. Awalan yang harus ditambahkan ke semua nama tabel. |
LabelsEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
DataEncryptionState
| Representasi JSON |
|---|
{ "kmsKeyVersionName": string } |
| Kolom | |
|---|---|
kmsKeyVersionName |
Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource. |
TokenStatus
Status token autentikasi.
| Enum | |
|---|---|
TOKEN_STATUS_UNSPECIFIED |
Nilai default. Nilai ini tidak digunakan. |
NOT_FOUND |
Token tidak dapat ditemukan di Secret Manager (atau Akun Layanan Dataform tidak memiliki izin untuk mengaksesnya). |
INVALID |
Token tidak dapat digunakan untuk melakukan autentikasi terhadap remote Git. |
VALID |
Token berhasil digunakan untuk mengautentikasi terhadap remote Git. |
Anotasi Alat
Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.
Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:
readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: false.destructiveHint: Jika benar, alat dapat melakukan tindakan destruktif. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: false.openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.
Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌