Mengabaikan kolom yang tidak ditentukan
Halaman ini menjelaskan perilaku pengisian default kolom spec di
resource Config Connector dan cara memigrasikan resource yang ada dari perilaku
Merge lama ke perilaku Absent yang direkomendasikan. Halaman ini mungkin tidak berlaku jika Anda menggunakan CustomResourceDefinition (CRD) yang ditambahkan di versi 1.114.0 dan yang lebih baru karena CRD tersebut hanya mendukung perilaku Absent. Untuk mengetahui
daftar CRD yang mendukung perilaku Merge, lihat bagian Jenis dengan dukungan
Merge di halaman ini.
spec perilaku pengisian kolom
Saat Config Connector membuat resource, kolom yang tidak ditentukan di kolom spec resource Kubernetes dapat memiliki dua perilaku pengisian yang berbeda: Absent dan Merge.
Tidak ada
Perilaku Absent adalah perilaku yang direkomendasikan. Jika resource menggunakan perilaku
Absent, Config Connector tidak akan mengisi kolom yang tidak ditentukan ke dalam kolom
resource Kubernetes spec.
Mulai Config Connector versi 1.123.1, perilaku Absent adalah
perilaku pengisian default untuk semua resource yang baru dibuat, kecuali jika Anda menetapkan
nilai kolom spec.stateIntoSpec ke Merge di resource kustom ConfigConnector atau
ConfigConnectorContext. Untuk resource yang menggunakan anotasi cnrm.cloud.google.com/state-into-spec, Config Connector menetapkan nilai anotasi ke huruf kecil absent secara default (kolom spec.stateIntoSpec menggunakan huruf kapital Absent atau Merge). Resource yang direkonsiliasi oleh pengontrol langsung menggunakan perilaku Absent tanpa menambahkan anotasi.
Untuk CRD yang ditambahkan di
versi 1.114.0 dan yang lebih baru,
perilaku pengisian Absent adalah satu-satunya perilaku pengisian yang didukung.
Gabungkan
Perilaku Merge tidak didukung di CRD yang ditambahkan di versi 1.114.0 dan
yang lebih baru. Saat resource menggunakan perilaku Merge, kolom spec akan mengambil nilai
dari Google Cloud API setelah rekonsiliasi berhasil, kecuali jika kolom tersebut
tidak dapat dibaca. Untuk mengetahui detail selengkapnya, lihat
Mengelola kolom secara eksternal.
Untuk CRD yang ditambahkan di
versi 1.113.0 dan yang lebih lama,
Config Connector mendukung perilaku Absent dan Merge. Untuk mengetahui daftar lengkap resource yang didukung, lihat
Jenis dengan dukungan Merge. Di Config Connector
versi sebelum 1.123.1, perilaku pengisian default untuk CRD ini
adalah Merge, dan Config Connector menetapkan nilai
anotasi cnrm.cloud.google.com/state-into-spec ke merge secara default.
Karena anotasi cnrm.cloud.google.com/state-into-spec tidak dapat diubah setelah resource dibuat, resource yang dibuat sebelum versi 1.123.1 akan mempertahankan anotasi cnrm.cloud.google.com/state-into-spec: merge bahkan setelah Anda mengupgrade Config Connector ke versi 1.123.1 atau yang lebih baru. Untuk mengonfigurasi resource baru agar menggunakan perilaku Absent, lihat Melewati pengisian kolom yang tidak ditentukan ke dalam spesifikasi. Untuk memigrasikan resource yang ada, lihat Memigrasikan resource dari Merge ke Absent.
Saat resource menggunakan perilaku Merge, kolom yang tidak ditentukan dalam
manifes YAML asli Anda akan diisi ke kolom spec resource kustom di
server Kubernetes API. Perilaku ini berarti bahwa saat Anda menjalankan perintah kubectl get RESOURCE_KIND RESOURCE_NAME -o
yaml, kolom spec dalam output dapat menyertakan subkolom yang tidak ada dalam file YAML yang diterapkan.
Misalnya, asumsikan skema CRD memungkinkan Anda menentukan dua kolom bernama field1 dan field2 di kolom spec, tetapi file YAML yang diterapkan hanya menentukan kolom field1:
spec:
field1: "value-1"
Jika manifes YAML berhasil diterapkan dan resource berstatus
UpToDate,
kolom field2 akan muncul di resource kustom:
spec:
field1: "value-1"
field2: "value-2"
Config Connector tidak mengisi kolom referensi resource yang tidak ditentukan, seperti
projectRef, folderRef, organizationRef, atau billingAccountRef, dari
Google Cloud ke spec. Misalnya, meskipun jenis Project mendukung Merge, semua kolom spec opsionalnya (billingAccountRef, folderRef, dan organizationRef) adalah kolom referensi resource. Akibatnya, Merge tidak
mengisi kolom yang tidak ditentukan pada resource Project.
Karena kompleksitas interaksi antara Config Connector dan
Google Cloud API, gunakan perilaku Absent sehingga Config Connector
melewati pengisian kolom spec resource Kubernetes dengan kolom yang tidak ditentukan.
Lewati pengisian kolom yang tidak ditentukan ke dalam spesifikasi
Anda dapat mengonfigurasi Config Connector agar tidak mengisi kolom yang tidak ditentukan ke dalam kolom spec untuk CRD yang ditambahkan di Config Connector versi 1.113.0 dan yang lebih lama dengan salah satu cara berikut:
- Tetapkan nilai kolom
stateIntoSpectingkat cluster atau tingkat namespace keAbsent. - Pada resource, tetapkan nilai anotasi
cnrm.cloud.google.com/state-into-speckeabsent.
Mengonfigurasi penggantian stateIntoSpec tingkat cluster atau tingkat namespace
Saat menginstal Config Connector atau mengupdate penginstalan Config Connector,
Anda dapat menetapkan nilai kolom stateIntoSpec tingkat cluster atau tingkat namespace
ke Absent di resource kustom ConfigConnector atau
ConfigConnectorContext:
spec:
stateIntoSpec: Absent
Setelan ini membuat perilaku Absent menjadi perilaku pengisian kolom spec default untuk setiap resource baru yang dibuat di cluster atau namespace saat Anda tidak menentukan anotasi cnrm.cloud.google.com/state-into-spec dalam manifes YAML resource. Config Connector tidak mengisi kolom yang tidak ditentukan
ke dalam kolom spec resource Kubernetes untuk resource ini.
Kolom stateIntoSpec di resource kustom ConfigConnector dan ConfigConnectorContext tidak memiliki nilai default. Config Connector menentukan perilaku pengisian kolom spec berdasarkan nilai anotasi cnrm.cloud.google.com/state-into-spec, dan mengikuti urutan prioritas ini untuk menentukan nilai anotasi saat resource dibuat:
- Gunakan nilai anotasi
cnrm.cloud.google.com/state-into-specsecara langsung jika ditentukan dan valid. - Jika anotasi tidak ditentukan, gunakan nilai yang sesuai dari kolom
stateIntoSpecdi resource kustom ConfigConnectorContext. - Jika resource kustom ConfigConnectorContext tidak ada atau kolom
stateIntoSpectidak ditentukan, gunakan nilai yang sesuai dari kolomstateIntoSpecdi resource kustom ConfigConnector. - Jika resource kustom ConfigConnector tidak ada atau kolom
stateIntoSpectidak ditentukan, Config Connector versi 1.123.1 dan yang lebih baru akan ditetapkan secara default ke nilaiabsent. Versi yang lebih lama dari 1.123.1 menggunakan perilaku default untuk CRD, seperti yang dijelaskan dalam Perilaku pengisian kolomspec.
CRD yang ditambahkan di
versi 1.114.0 dan yang lebih baru
hanya mendukung perilaku pengisian Absent, terlepas dari kolom stateIntoSpec
di resource kustom ConfigConnector atau ConfigConnectorContext.
Jika Anda telah membuat resource dengan perilaku Merge, memperbarui nilai kolom stateIntoSpec menjadi Absent di resource kustom ConfigConnector atau ConfigConnectorContext tidak akan mengubah anotasi resource yang ada. Untuk memigrasikan resource yang ada, lihat
Memigrasikan resource dari Merge ke Absent.
Menetapkan anotasi cnrm.cloud.google.com/state-into-spec tingkat resource
Saat membuat file YAML, Anda dapat menetapkan nilai anotasi cnrm.cloud.google.com/state-into-spec ke absent. Anotasi ini
melewati pengisian kolom yang tidak ditentukan ke dalam kolom spec resource Kubernetes:
metadata:
annotations:
cnrm.cloud.google.com/state-into-spec: absent
Di Config Connector versi 1.123.1 dan yang lebih baru, anotasi ini ditetapkan secara default ke nilai absent jika tidak ditentukan (kecuali jika Anda menggantinya dengan menetapkan nilai kolom spec.stateIntoSpec ke Merge di resource kustom ConfigConnector atau ConfigConnectorContext). Pada versi sebelum 1.123.1, anotasi ini ditetapkan secara default ke nilai merge untuk CRD yang ditambahkan di versi 1.113.0 dan yang lebih lama, yang berarti Config Connector mengisi semua kolom yang tidak ditentukan ke dalam kolom spec.
Anotasi ini tidak dapat diubah, yang berarti Anda tidak dapat memperbarui nilai anotasi
secara langsung pada resource Config Connector yang ada. Jika Anda telah membuat resource dengan nilai merge dan ingin mengubah perilakunya menjadi nilai absent, lihat Memigrasikan resource dari Merge ke Absent.
Untuk menjelaskan lebih lanjut perbedaan yang diperkenalkan oleh anotasi ini, asumsikan bahwa
resource memiliki kolom spec dengan skema berikut:
field1: string
field2: string
listField:
- itemField1: string
itemField2: string
objectField:
subField1: string
subField2: string
Asumsikan juga bahwa Anda menentukan kolom spec dalam manifes YAML sebagai:
spec:
field1: "value-1"
listField:
- itemField1: "1_value1"
- itemField1: "2_value1"
objectField:
subField1: "sub-value-1"
Jika nilai anotasi cnrm.cloud.google.com/state-into-spec ditetapkan ke merge, kolom spec yang diisi dalam resource Kubernetes yang dibuat akan terlihat seperti berikut:
spec:
field1: "value-1"
field2: "value-2"
listField:
- itemField1: "1_value1"
itemField2: "1_value2"
- itemField1: "2_value1"
itemField2: "2_value2"
objectField:
subField1: "sub-value-1"
subField2: "sub-value-2"
Saat Anda menetapkan anotasi cnrm.cloud.google.com/state-into-spec: absent, kolom spec akhir dalam resource Kubernetes yang dibuat akan tetap ada:
spec:
field1: "value-1"
listField:
- itemField1: "1_value1"
- itemField1: "2_value1"
objectField:
subField1: "sub-value-1"
Memigrasikan resource dari Merge ke Absent
Karena anotasi cnrm.cloud.google.com/state-into-spec tidak dapat diubah pada resource Kubernetes yang ada, mengupgrade Config Connector ke versi 1.123.1 atau yang lebih baru tidak akan otomatis mengubah resource yang ada dari nilai merge ke nilai absent.
Memigrasikan resource dan namespace yang ada dari perilaku Merge ke perilaku Absent akan membantu mencegah masalah berikut:
- Error rekonsiliasi pada kolom yang diupdate secara otomatis: Google Cloud
secara otomatis mengupdate kolom tertentu pada resource yang mendasarinya, seperti
versi pemeliharaan atau setelan penskalaan otomatis. Resource dengan anotasi
state-into-spec: mergemungkin gagal dalam rekonsiliasi atau memasuki loop update tanpa akhir yang mencoba mengembalikan kolom ke nilaispecyang lebih lama. - Konflik dengan GitOps dan alat manajemen konfigurasi: alat seperti Config Sync dan Argo CD dapat bertentangan dengan Config Connector saat perilaku
Mergemengisi subkolom yang tidak ditentukan dalam daftar. - Error validasi pada jenis resource yang lebih baru: jika nilai kolom
spec.stateIntoSpecditetapkan keMergepada resource kustom ConfigConnector atau ConfigConnectorContext, mengelola resource yang tidak mendukung perilakuMergedapat menyebabkan error validasi (invalid value "merge" for "cnrm.cloud.google.com/state-into-spec" annotation).
Mengidentifikasi namespace dan resource yang terpengaruh
Sebelum melakukan migrasi, periksa setelan tingkat cluster, tingkat namespace, dan tingkat resource untuk mengidentifikasi tempat perilaku Merge masih digunakan:
Periksa resource kustom ConfigConnector tingkat cluster untuk penggantian kolom
stateIntoSpec:kubectl get configconnector configconnector.core.cnrm.cloud.google.com \ -o jsonpath='{.spec.stateIntoSpec}{"\n"}'Periksa semua resource kustom ConfigConnectorContext tingkat namespace untuk penggantian kolom
stateIntoSpec:kubectl get configconnectorcontext -A \ -o custom-columns=NAMESPACE:.metadata.namespace,STATE_INTO_SPEC:.spec.stateIntoSpecPeriksa nilai anotasi
cnrm.cloud.google.com/state-into-specpada resource Config Connector yang ada:kubectl get RESOURCE_KIND RESOURCE_NAME -n NAMESPACE \ -o jsonpath='{.metadata.annotations.cnrm\.cloud\.google\.com/state-into-spec}{"\n"}'Ganti kode berikut:
RESOURCE_KIND: jenis resource Config Connector, seperti SQLInstance.RESOURCE_NAME: nama resource.NAMESPACE: namespace resource.
Memigrasikan resource ke Absent
Untuk mengubah perilaku pengisian resource yang ada dari Merge menjadi Absent, Anda harus mengabaikan resource Kubernetes dan memperoleh kembali resource Google Cloud yang mendasarinya dengan anotasi cnrm.cloud.google.com/state-into-spec: absent. Untuk mengabaikan
dan memperoleh kembali resource, selesaikan langkah-langkah berikut:
Jika nilai kolom
spec.stateIntoSpecditetapkan keMergedi resource kustom ConfigConnector atau ConfigConnectorContext, perbarui nilai kolom tersebut keAbsent:spec: stateIntoSpec: AbsentTambahkan anotasi
cnrm.cloud.google.com/deletion-policy: abandonke resource Config Connector yang ada di cluster Anda. Anotasi ini membantu memastikan bahwa penghapusan resource Kubernetes pada langkah berikutnya tidak akan menghapus resource Google Cloud yang mendasarinya:kubectl annotate RESOURCE_KIND RESOURCE_NAME -n NAMESPACE \ cnrm.cloud.google.com/deletion-policy=abandon --overwriteHapus resource dari cluster Kubernetes Anda:
kubectl delete RESOURCE_KIND RESOURCE_NAME -n NAMESPACEDalam manifes YAML resource, tetapkan nilai anotasi
cnrm.cloud.google.com/state-into-speckeabsent:metadata: annotations: cnrm.cloud.google.com/state-into-spec: absentTinjau kolom
specdalam manifes YAML Anda untuk memverifikasi bahwa kolom tersebut menyertakan semua kolom yang ingin Anda kelola dengan Config Connector. Menghilangkan kolom yang ingin Anda Google Cloud atau sistem eksternal kelola secara otomatis, seperti kolomspec.maintenanceVersionpada resource SQLInstance.Opsional: Jika manifes YAML lokal Anda juga menyertakan anotasi
cnrm.cloud.google.com/deletion-policy: abandondan Anda tidak lagi menginginkan kebijakan penghapusanabandon, hapus anotasi tersebut dari manifes YAML.Terapkan manifes YAML yang telah diupdate untuk memperoleh kembali resource:
kubectl apply -f MANIFEST_FILEGanti
MANIFEST_FILEdengan jalur ke file YAML resource Anda.
Kapan menggunakan cnrm.cloud.google.com/state-into-spec: absent
Pada umumnya, gunakan anotasi cnrm.cloud.google.com/state-into-spec: absent
untuk mendapatkan perilaku pengisian Absent untuk kolom spec. Bagian berikut menjelaskan skenario umum yang mendapatkan manfaat dari perilaku pengisian Absent.
Hindari konflik dengan kolom yang otomatis diperbarui oleh Google Cloud
Saat resource menggunakan anotasi cnrm.cloud.google.com/state-into-spec: merge, Config Connector membaca nilai dari Google Cloud API selama rekonsiliasi awal dan menuliskannya ke kolom spec resource Kubernetes. Jika layanan Google Cloud nantinya memperbarui salah satu kolom tersebut secara otomatis, Config Connector akan memperlakukan nilai lama yang disimpan di kolom spec sebagai status target dan mencoba mengembalikan perubahan pada resourceGoogle Cloud yang mendasarinya.
Misalnya, jika Anda membuat resource SQLInstance dengan anotasi
cnrm.cloud.google.com/state-into-spec: merge tanpa menentukan kolom
spec.maintenanceVersion, Config Connector akan mengisi versi pemeliharaan
awal ke dalam kolom spec.maintenanceVersion. Saat
Cloud SQL kemudian melakukan update pemeliharaan otomatis pada
instance, versi pemeliharaan langsung di Cloud SQL akan ditingkatkan. Selama rekonsiliasi berikutnya, Config Connector akan mencoba menambal instance kembali ke nilai spec.maintenanceVersion yang lebih lama. Karena Cloud SQL menolak penurunan versi pemeliharaan, rekonsiliasi gagal berulang kali dengan error
UpdateFailed (The requested maintenance version is not an available
maintenance version to upgrade).
Saat Anda menetapkan anotasi cnrm.cloud.google.com/state-into-spec: absent,
hilangkan kolom yang otomatis diupdate seperti spec.maintenanceVersion dari
manifes YAML Anda. Config Connector tidak mencatat kolom tersebut di kolom spec,
sehingga Google Cloud dapat memperbaruinya tanpa menyebabkan konflik
rekonsiliasi.
Mengelola kolom yang tidak ditentukan dalam daftar secara eksternal
Config Connector memperlakukan semua kolom daftar di kolom spec resource Kubernetes sebagai kolom atomik. Akibatnya, jika nilai anotasi state-into-spec
ditetapkan ke merge, Config Connector akan mengembalikan perubahan apa pun yang dilakukan pada
subkolom dalam daftar dari luar Config Connector. Namun, Anda dapat menggunakan anotasi
cnrm.cloud.google.com/state-into-spec: absent agar Config Connector membiarkan sub-bidang yang tidak ditentukan dalam daftar tidak dikelola. Untuk mengetahui informasi selengkapnya, lihat Perilaku untuk kolom daftar dalam spesifikasi resource.
Menyelesaikan konflik antara alat manajemen konfigurasi dan Config Connector
Jika Anda menggunakan alat manajemen konfigurasi seperti Config Sync atau Argo CD, Anda mungkin melihat konflik antara alat manajemen konfigurasi dan Config Connector. Contohnya adalah error KNV2005 yang dijelaskan dalam panduan pemecahan masalah. Masalah ini terjadi karena alasan berikut:
- Jika nilai anotasi
state-into-specditetapkan kemerge, Config Connector akan mengisi dan menetapkan nilai default yang tidak ditentukan dalam daftar di kolomspec, seperti kolomspec.listField[0].itemField2. - Alat manajemen konfigurasi dan Config Connector memperlakukan kolom daftar sebagai atomik, sehingga alat manajemen konfigurasi memperlakukan kolom
spec.listField[0].itemField2yang ditambahkan sebagai penyimpangan dan menghapusnya.
Untuk mengatasi masalah ini, Anda dapat menetapkan anotasi cnrm.cloud.google.com/state-into-spec:
absent agar Config Connector tidak menambahkan kolom spec.listField[0].itemField2 yang tidak ditentukan ke dalam kolom spec.
Menyelesaikan masalah simetri GET/PUT
Simetri GET/PUT mengacu pada prinsip desain di REST API. Secara khusus, ini
berarti bahwa saat respons GET dikirim sebagai permintaan PUT ke URL yang sama, hasil yang diharapkan adalah kode status HTTP 200 OK tanpa perubahan status
resource REST yang mendasarinya.
Jika nilai anotasi state-into-spec ditetapkan ke merge, kolom yang tidak ditentukan yang diisi oleh Config Connector di kolom spec resource Kubernetes adalah hasil dari permintaan GET. Perilaku ini berarti bahwa dalam rekonsiliasi mendatang, Config Connector mungkin mengirim permintaan PUT atau PATCH keGoogle Cloud API yang mendasarinya dengan nilai kolom yang tidak ditentukan ini yang dipelajari dari permintaan GET. Perilaku ini biasanya tidak menjadi masalah, tetapi beberapa Google Cloud API
mungkin menolak permintaan PUT atau PATCH karena nilai kolom yang tidak ditentukan ini.
Dalam contoh yang sama, kolom spec.objectField.subField2 yang diisi dengan nilai
"sub-value-2" dapat menghasilkan error klien HTTP 400 atau respons
tak terduga lainnya jika penerapan API melanggar prinsip simetri GET/PUT.
Untuk menghindari kategori masalah ini, Anda dapat menetapkan anotasi cnrm.cloud.google.com/state-into-spec: absent dan memeriksa apakah error selama rekonsiliasi hilang.
Status yang diamati
Jika Anda perlu menetapkan anotasi cnrm.cloud.google.com/state-into-spec: absent, tetapi solusi Anda bergantung pada nilai yang diisi dari kolom yang tidak ditentukan, periksa apakah kolom ini ada di kolom status.observedState dalam skema CRD. Jika kolom tersebut direpresentasikan dalam kolom status.observedState, Anda dapat menetapkan anotasi cnrm.cloud.google.com/state-into-spec: absent dan tetap mengakses nilai kolom yang tidak ditentukan setelah rekonsiliasi berhasil.
Kolom status.observedState berisi status aktif kolom yang dipilih dan diamati dari resource yang diamati Config Connector dalam rekonsiliasi terakhir yang berhasil. Config Connector memilih kolom yang diamati yang merupakan kolom spec yang dihitung dan dependensi untuk kasus penggunaan umum. Anda dapat menemukan kolom yang diamati dalam skema CRD.
Jika Anda tidak dapat menemukan kolom yang diamati yang diinginkan, periksa masalah yang ada atau buka masalah baru di issue tracker publik.
Jenis dengan dukungan Merge
Berikut adalah semua jenis Config Connector yang mendukung perilaku pengisian Merge:
- AccessContextManagerAccessLevel
- AccessContextManagerAccessPolicy
- AccessContextManagerServicePerimeter
- AlloyDBBackup
- AlloyDBCluster
- AlloyDBUser
- ApigeeEnvironment
- ApigeeOrganization
- ArtifactRegistryRepository
- BigQueryDataset
- BigQueryJob
- BigQueryRoutine
- BigQueryTable
- BigtableAppProfile
- BigtableGCPolicy
- BigtableInstance
- BigtableTable
- BillingBudgetsBudget
- BinaryAuthorizationAttestor
- BinaryAuthorizationPolicy
- CertificateManagerCertificate
- CertificateManagerCertificateMap
- CertificateManagerCertificateMapEntry
- CloudBuildTrigger
- CloudFunctionsFunction
- CloudSchedulerJob
- ComputeAddress
- ComputeBackendBucket
- ComputeBackendService
- ComputeDisk
- ComputeExternalVPNGateway
- ComputeFirewall
- ComputeFirewallPolicy
- ComputeFirewallPolicyAssociation
- ComputeForwardingRule
- ComputeHTTPHealthCheck
- ComputeHTTPSHealthCheck
- ComputeHealthCheck
- ComputeImage
- ComputeInstance
- ComputeInstanceGroup
- ComputeInstanceGroupManager
- ComputeInstanceTemplate
- ComputeInterconnectAttachment
- ComputeNetwork
- ComputeNetworkEndpointGroup
- ComputeNetworkFirewallPolicy
- ComputeNetworkPeering
- ComputeNodeGroup
- ComputeNodeTemplate
- ComputePacketMirroring
- ComputeProjectMetadata
- ComputeRegionNetworkEndpointGroup
- ComputeReservation
- ComputeResourcePolicy
- ComputeRoute
- ComputeRouter
- ComputeRouterInterface
- ComputeRouterNAT
- ComputeRouterPeer
- ComputeSSLCertificate
- ComputeSSLPolicy
- ComputeSecurityPolicy
- ComputeServiceAttachment
- ComputeSharedVPCHostProject
- ComputeSharedVPCServiceProject
- ComputeSnapshot
- ComputeSubnetwork
- ComputeTargetGRPCProxy
- ComputeTargetHTTPProxy
- ComputeTargetHTTPSProxy
- ComputeTargetInstance
- ComputeTargetPool
- ComputeTargetSSLProxy
- ComputeTargetTCPProxy
- ComputeTargetVPNGateway
- ComputeURLMap
- ComputeVPNGateway
- ComputeVPNTunnel
- ConfigControllerInstance
- ContainerAnalysisNote
- ContainerAttachedCluster
- ContainerCluster
- ContainerNodePool
- DLPDeidentifyTemplate
- DLPInspectTemplate
- DLPJobTrigger
- DLPStoredInfoType
- DNSManagedZone
- DNSPolicy
- DNSRecordSet
- DataCatalogPolicyTag
- DataCatalogTaxonomy
- DataFusionInstance
- DataflowFlexTemplateJob
- DataflowJob
- DataprocAutoscalingPolicy
- DataprocCluster
- DataprocWorkflowTemplate
- EdgeContainerCluster
- EdgeContainerNodePool
- EdgeContainerVpnConnection
- EdgeNetworkNetwork
- EdgeNetworkSubnet
- EventarcTrigger
- FilestoreBackup
- FilestoreInstance
- FirestoreIndex
- Folder
- GKEHubFeature
- GKEHubMembership
- IAMAccessBoundaryPolicy
- IAMAuditConfig
- IAMCustomRole
- IAMPartialPolicy
- IAMPolicy
- IAMPolicyMember
- IAMServiceAccount
- IAMServiceAccountKey
- IAMWorkforcePool
- IAMWorkforcePoolProvider
- IAMWorkloadIdentityPool
- IAMWorkloadIdentityPoolProvider
- IAPBrand
- IAPIdentityAwareProxyClient
- IdentityPlatformConfig
- IdentityPlatformOAuthIDPConfig
- IdentityPlatformTenant
- IdentityPlatformTenantOAuthIDPConfig
- KMSCryptoKey
- KMSKeyRing
- LoggingLogBucket
- LoggingLogExclusion
- LoggingLogSink
- LoggingLogView
- MemcacheInstance
- MonitoringAlertPolicy
- MonitoringGroup
- MonitoringMetricDescriptor
- MonitoringMonitoredProject
- MonitoringNotificationChannel
- MonitoringService
- MonitoringServiceLevelObjective
- MonitoringUptimeCheckConfig
- NetworkConnectivityHub
- NetworkConnectivitySpoke
- NetworkSecurityAuthorizationPolicy
- NetworkSecurityClientTLSPolicy
- NetworkSecurityServerTLSPolicy
- NetworkServicesEndpointPolicy
- NetworkServicesGRPCRoute
- NetworkServicesGateway
- NetworkServicesHTTPRoute
- NetworkServicesMesh
- NetworkServicesTCPRoute
- NetworkServicesTLSRoute
- OSConfigGuestPolicy
- OSConfigOSPolicyAssignment
- PrivateCACAPool
- PrivateCACertificate
- PrivateCACertificateAuthority
- PrivateCACertificateTemplate
- Project
- PubSubLiteReservation
- PubSubSchema
- PubSubSubscription
- PubSubTopic
- RecaptchaEnterpriseKey
- RedisInstance
- ResourceManagerLien
- ResourceManagerPolicy
- RunJob
- RunService
- SQLDatabase
- SQLSSLCert
- SQLUser
- SecretManagerSecret
- SecretManagerSecretVersion
- Layanan
- ServiceDirectoryEndpoint
- ServiceDirectoryNamespace
- ServiceDirectoryService
- ServiceIdentity
- ServiceNetworkingConnection
- SourceRepoRepository
- SpannerDatabase
- SpannerInstance
- StorageBucket
- StorageBucketAccessControl
- StorageDefaultObjectAccessControl
- StorageNotification
- StorageTransferJob
- TagsTagBinding
- TagsTagKey
- TagsTagValue
- VPCAccessConnector
Jenis berikut tidak mendukung perilaku pengisian Merge yang dimulai dari
versi yang sesuai:
| Nama jenis | Version |
|---|---|
| AlloyDBInstance | 1.129.2 |
| CertificateManagerDNSAuthorization | 1.124.0 |
| CloudIdentityGroup | 1.134.0 |
| CloudIdentityMembership | 1.134.0 |
| ComputeFirewallPolicyRule | 1.125.0 |
| GKEHubFeatureMembership | 1.128.0 |
| LoggingLogMetric | 1.118.1 |
| MonitoringDashboard | 1.119.0 |
| SQLInstance | 1.129.2 |