diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_generated_object_basicacmgkehubfeaturemembership.golden.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_generated_object_basicacmgkehubfeaturemembership.golden.yaml index f6cd84f77e..d154a1a2a4 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_generated_object_basicacmgkehubfeaturemembership.golden.yaml +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_generated_object_basicacmgkehubfeaturemembership.golden.yaml @@ -25,8 +25,7 @@ spec: syncRev: HEAD syncWaitSecs: "20" sourceFormat: hierarchy - management: MANAGEMENT_AUTOMATIC - version: 1.18.1 + version: 1.18.2 featureRef: name: gkehubfeature-basic-acm-${uniqueId} location: global diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_http.log b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_http.log index f372091011..8c21f788b1 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_http.log +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/_http.log @@ -1600,8 +1600,7 @@ User-Agent: kcc/controller-manager }, "sourceFormat": "hierarchy" }, - "management": "MANAGEMENT_AUTOMATIC", - "version": "1.18.1" + "version": "1.18.2" } } }, @@ -1677,7 +1676,7 @@ X-Xss-Protection: 0 }, "sourceFormat": "hierarchy" }, - "version": "1.18.1" + "version": "1.18.2" } } }, @@ -1726,7 +1725,7 @@ X-Xss-Protection: 0 }, "sourceFormat": "hierarchy" }, - "version": "1.18.1" + "version": "1.18.2" } } }, diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/update.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/update.yaml index 6a7d443841..a7812cb251 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/update.yaml +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basicacmgkehubfeaturemembership/update.yaml @@ -38,6 +38,5 @@ spec: syncWaitSecs: "20" syncRev: "HEAD" secretType: "none" - version: "1.18.1" - management: "MANAGEMENT_AUTOMATIC" + version: "1.18.2" diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/_generated_object_basiccsaugkehubfeaturemembership.golden.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/_generated_object_basiccsaugkehubfeaturemembership.golden.yaml new file mode 100644 index 0000000000..79188915cc --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/_generated_object_basiccsaugkehubfeaturemembership.golden.yaml @@ -0,0 +1,44 @@ +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeatureMembership +metadata: + annotations: + cnrm.cloud.google.com/management-conflict-prevention-policy: none + finalizers: + - cnrm.cloud.google.com/finalizer + - cnrm.cloud.google.com/deletion-defender + generation: 2 + labels: + cnrm-test: "true" + name: gkehubfeaturemembership-basic-csau-${uniqueId} + namespace: ${uniqueId} +spec: + configmanagement: + configSync: + git: + gcpServiceAccountRef: + name: sa-${uniqueId} + httpsProxy: https://github.com + policyDir: config-connector + secretType: none + syncBranch: master + syncRepo: https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit + syncRev: HEAD + syncWaitSecs: "20" + sourceFormat: hierarchy + management: MANAGEMENT_AUTOMATIC + featureRef: + name: gkehubfeature-basic-csau-${uniqueId} + location: global + membershipLocation: us-south1 + membershipRef: + name: gkehubmembership-basic-csau-${uniqueId} + projectRef: + name: project-${uniqueId} +status: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: The resource is up to date + reason: UpToDate + status: "True" + type: Ready + observedGeneration: 2 diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/_http.log b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/_http.log new file mode 100644 index 0000000000..22d6c7c0c6 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/_http.log @@ -0,0 +1,2201 @@ +GET https://cloudresourcemanager.googleapis.com/v1/projects/example-project-01?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +403 Forbidden +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 403, + "message": "The caller does not have permission", + "status": "PERMISSION_DENIED" + } +} + +--- + +POST https://cloudbilling.googleapis.com/v1/billingAccounts/${billingAccountID}:testIamPermissions?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "permissions": [ + "billing.resourceAssociations.create" + ] +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "permissions": [ + "billing.resourceAssociations.create" + ] +} + +--- + +POST https://cloudresourcemanager.googleapis.com/v1/projects?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "Dependent Project", + "parent": { + "id": "${organizationID}", + "type": "organization" + }, + "projectId": "example-project-01" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "name": "operations/${operationID}" +} + +--- + +GET https://cloudresourcemanager.googleapis.com/v1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.CreateProjectMetadata" + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Project", + "createTime": "2024-04-01T12:34:56.123456Z", + "displayName": "Dependent Project", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}", + "parent": "organizations/${organizationID}", + "projectId": "example-project-01", + "state": "ACTIVE" + } +} + +--- + +PUT https://cloudbilling.googleapis.com/v1/projects/example-project-01/billingInfo?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "billingAccountName": "billingAccounts/${billingAccountID}" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "billingAccountName": "billingAccounts/${billingAccountID}", + "billingEnabled": true, + "name": "projects/example-project-01/billingInfo", + "projectId": "example-project-01" +} + +--- + +GET https://cloudbilling.googleapis.com/v1/projects/example-project-01/billingInfo?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "billingAccountName": "billingAccounts/${billingAccountID}", + "billingEnabled": true, + "name": "projects/example-project-01/billingInfo", + "projectId": "example-project-01" +} + +--- + +GET https://cloudresourcemanager.googleapis.com/v1/projects/example-project-01?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "createTime": "2024-04-01T12:34:56.123456Z", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "lifecycleState": "ACTIVE", + "name": "Dependent Project", + "parent": { + "id": "${organizationID}", + "type": "organization" + }, + "projectId": "example-project-01", + "projectNumber": "${projectNumber}" +} + +--- + +GET https://cloudbilling.googleapis.com/v1/projects/example-project-01/billingInfo?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "billingAccountName": "billingAccounts/${billingAccountID}", + "billingEnabled": true, + "name": "projects/example-project-01/billingInfo", + "projectId": "example-project-01" +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/container.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/anthos.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/gkehub.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/gkehub.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/gkehub.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/anthosconfigmanagement.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/anthosconfigmanagement.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/gkehub.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/anthosconfigmanagement.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "errors": [ + { + "domain": "global", + "message": "Not found: projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}.", + "reason": "notFound" + } + ], + "message": "Not found: projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}.", + "status": "NOT_FOUND" + } +} + +--- + +POST https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "cluster": { + "autopilot": { + "enabled": false + }, + "autoscaling": { + "enableNodeAutoprovisioning": false + }, + "binaryAuthorization": { + "enabled": false + }, + "initialNodeCount": 1, + "ipAllocationPolicy": { + "stackType": "IPV4", + "useIpAliases": false + }, + "legacyAbac": { + "enabled": false + }, + "maintenancePolicy": { + "window": {} + }, + "masterAuthorizedNetworksConfig": {}, + "name": "container-cluster-${uniqueId}", + "network": "projects/example-project-01/global/networks/default", + "networkConfig": {}, + "networkPolicy": {}, + "nodeConfig": { + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ] + }, + "notificationConfig": { + "pubsub": {} + }, + "resourceLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "shieldedNodes": { + "enabled": true + }, + "workloadIdentityConfig": { + "workloadPool": "example-project-01.svc.id.goog" + } + } +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "name": "${operationID}", + "operationType": "CREATE_CLUSTER", + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "RUNNING", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "endTime": "2024-04-01T12:34:56.123456Z", + "name": "${operationID}", + "operationType": "CREATE_CLUSTER", + "progress": { + "metrics": [ + { + "intValue": "10", + "name": "CLUSTER_CONFIGURING" + }, + { + "intValue": "10", + "name": "CLUSTER_CONFIGURING_TOTAL" + }, + { + "intValue": "12", + "name": "CLUSTER_DEPLOYING" + }, + { + "intValue": "12", + "name": "CLUSTER_DEPLOYING_TOTAL" + }, + { + "intValue": "1", + "name": "CLUSTER_HEALTHCHECKING" + }, + { + "intValue": "2", + "name": "CLUSTER_HEALTHCHECKING_TOTAL" + } + ] + }, + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "DONE", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "addonsConfig": { + "gcePersistentDiskCsiDriverConfig": { + "enabled": true + }, + "kubernetesDashboard": { + "disabled": true + }, + "networkPolicyConfig": { + "disabled": true + } + }, + "autopilot": {}, + "autoscaling": { + "autoprovisioningNodePoolDefaults": { + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/cloud-platform" + ], + "upgradeSettings": { + "strategy": "SURGE" + } + }, + "autoscalingProfile": "BALANCED" + }, + "binaryAuthorization": {}, + "clusterIpv4Cidr": "10.92.0.0/14", + "clusterTelemetry": { + "type": "ENABLED" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "currentMasterVersion": "1.30.5-gke.1014001", + "currentNodeCount": 1, + "currentNodeVersion": "1.30.5-gke.1014001", + "databaseEncryption": { + "currentState": "CURRENT_STATE_DECRYPTED", + "state": "DECRYPTED" + }, + "defaultMaxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "enterpriseConfig": { + "clusterTier": "STANDARD" + }, + "initialClusterVersion": "1.30.5-gke.1014001", + "initialNodeCount": 1, + "ipAllocationPolicy": { + "stackType": "IPV4" + }, + "legacyAbac": {}, + "location": "us-south1-a", + "locations": [ + "us-south1-a" + ], + "loggingConfig": { + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS", + "WORKLOADS" + ] + } + }, + "loggingService": "logging.googleapis.com/kubernetes", + "maintenancePolicy": { + "window": {} + }, + "masterAuthorizedNetworksConfig": { + "gcpPublicCidrsAccessEnabled": true + }, + "monitoringConfig": { + "advancedDatapathObservabilityConfig": {}, + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS" + ] + }, + "managedPrometheusConfig": { + "enabled": true + } + }, + "monitoringService": "monitoring.googleapis.com/kubernetes", + "name": "container-cluster-${uniqueId}", + "network": "default", + "networkConfig": { + "network": "projects/example-project-01/global/networks/default", + "subnetwork": "default" + }, + "networkPolicy": {}, + "nodeConfig": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "nodePools": [ + { + "config": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "initialNodeCount": 1, + "locations": [ + "us-south1-a" + ], + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "maxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "name": "default-pool", + "networkConfig": { + "enablePrivateNodes": false, + "podIpv4CidrBlock": "10.92.0.0/14", + "podIpv4RangeUtilization": 0.001, + "podRange": "default-pool-pods-12345678" + }, + "podIpv4CidrSize": 24, + "status": "RUNNING", + "upgradeSettings": { + "maxSurge": 1, + "strategy": "SURGE" + }, + "version": "1.30.5-gke.1014001" + } + ], + "notificationConfig": { + "pubsub": {} + }, + "privateCluster": true, + "privateClusterConfig": { + "privateEndpoint": "10.128.0.2", + "publicEndpoint": "8.8.8.8" + }, + "protectConfig": { + "workloadConfig": { + "auditMode": "BASIC" + }, + "workloadVulnerabilityMode": "WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED" + }, + "releaseChannel": { + "channel": "REGULAR" + }, + "resourceLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "securityPostureConfig": { + "mode": "BASIC", + "vulnerabilityMode": "VULNERABILITY_MODE_UNSPECIFIED" + }, + "selfLink": "https://container.googleapis.com/v1beta1/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "servicesIpv4Cidr": "34.118.224.0/20", + "shieldedNodes": { + "enabled": true + }, + "status": "RUNNING", + "subnetwork": "default", + "workloadIdentityConfig": { + "workloadPool": "example-project-01.svc.id.goog" + }, + "zone": "us-south1-a" +} + +--- + +GET https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "errors": [ + { + "domain": "global", + "message": "Unknown service account", + "reason": "notFound" + } + ], + "message": "Unknown service account", + "status": "NOT_FOUND" + } +} + +--- + +POST https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "accountId": "sa-${uniqueId}", + "serviceAccount": { + "displayName": "A Test Service Account" + } +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "displayName": "A Test Service Account", + "email": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "etag": "abcdef0123A=", + "name": "projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "oauth2ClientId": "888888888888888888888", + "projectId": "example-project-01", + "uniqueId": "111111111111111111111" +} + +--- + +GET https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "displayName": "A Test Service Account", + "email": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "etag": "abcdef0123A=", + "name": "projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "oauth2ClientId": "888888888888888888888", + "projectId": "example-project-01", + "uniqueId": "111111111111111111111" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "feature \"projects/example-project-01/locations/global/features/configmanagement\" not found", + "status": "NOT_FOUND" + } +} + +--- + +POST https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features?alt=json&featureId=configmanagement +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "createTime": "2024-04-01T12:34:56.123456Z", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "membership \"projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}\" not found", + "status": "NOT_FOUND" + } +} + +--- + +POST https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships?alt=json&membershipId=gkehubmembership-basic-csau-${uniqueId} +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +{ + "authority": { + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}" + }, + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.Membership", + "authority": { + "identityProvider": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "workloadIdentityPool": "${projectId}.svc.id.goog" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "externalId": "c772f869-1d6c-4d50-a92e-816c48322246", + "infrastructureType": "MULTI_CLOUD", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}", + "state": { + "code": "READY" + }, + "uniqueId": "12345678", + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "authority": { + "identityProvider": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "workloadIdentityPool": "${projectId}.svc.id.goog" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "externalId": "c772f869-1d6c-4d50-a92e-816c48322246", + "infrastructureType": "MULTI_CLOUD", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}", + "state": { + "code": "READY" + }, + "uniqueId": "111111111111111111111", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +--- + +PATCH https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false&updateMask=membershipSpecs +Content-Type: application/json +User-Agent: kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "sourceFormat": "unstructured" + }, + "management": "MANAGEMENT_MANUAL" + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "sourceFormat": "unstructured" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "sourceFormat": "unstructured" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +PATCH https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false&updateMask=membershipSpecs +Content-Type: application/json +User-Agent: kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-connector", + "secretType": "none", + "syncBranch": "master", + "syncRepo": "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit", + "syncRev": "HEAD", + "syncWaitSecs": "20" + }, + "sourceFormat": "hierarchy" + }, + "management": "MANAGEMENT_AUTOMATIC" + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-connector", + "secretType": "none", + "syncBranch": "master", + "syncRepo": "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit", + "syncRev": "HEAD", + "syncWaitSecs": "20" + }, + "sourceFormat": "hierarchy" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-connector", + "secretType": "none", + "syncBranch": "master", + "syncRepo": "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit", + "syncRev": "HEAD", + "syncWaitSecs": "20" + }, + "sourceFormat": "hierarchy" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +PATCH https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false&updateMask=membershipSpecs +Content-Type: application/json +User-Agent: kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": {} + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}": {} + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "authority": { + "identityProvider": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "workloadIdentityPool": "${projectId}.svc.id.goog" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "externalId": "c772f869-1d6c-4d50-a92e-816c48322246", + "infrastructureType": "MULTI_CLOUD", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}", + "state": { + "code": "READY" + }, + "uniqueId": "111111111111111111111", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +DELETE https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.Membership" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "membership \"projects/example-project-01/locations/us-south1/memberships/gkehubmembership-basic-csau-${uniqueId}\" not found", + "status": "NOT_FOUND" + } +} + +--- + +GET https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "displayName": "A Test Service Account", + "email": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "etag": "abcdef0123A=", + "name": "projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "oauth2ClientId": "888888888888888888888", + "projectId": "example-project-01", + "uniqueId": "111111111111111111111" +} + +--- + +DELETE https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "addonsConfig": { + "gcePersistentDiskCsiDriverConfig": { + "enabled": true + }, + "kubernetesDashboard": { + "disabled": true + }, + "networkPolicyConfig": { + "disabled": true + } + }, + "autopilot": {}, + "autoscaling": { + "autoprovisioningNodePoolDefaults": { + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/cloud-platform" + ], + "upgradeSettings": { + "strategy": "SURGE" + } + }, + "autoscalingProfile": "BALANCED" + }, + "binaryAuthorization": {}, + "clusterIpv4Cidr": "10.92.0.0/14", + "clusterTelemetry": { + "type": "ENABLED" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "currentMasterVersion": "1.30.5-gke.1014001", + "currentNodeCount": 1, + "currentNodeVersion": "1.30.5-gke.1014001", + "databaseEncryption": { + "currentState": "CURRENT_STATE_DECRYPTED", + "state": "DECRYPTED" + }, + "defaultMaxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "enterpriseConfig": { + "clusterTier": "STANDARD" + }, + "initialClusterVersion": "1.30.5-gke.1014001", + "initialNodeCount": 1, + "ipAllocationPolicy": { + "stackType": "IPV4" + }, + "legacyAbac": {}, + "location": "us-south1-a", + "locations": [ + "us-south1-a" + ], + "loggingConfig": { + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS", + "WORKLOADS" + ] + } + }, + "loggingService": "logging.googleapis.com/kubernetes", + "maintenancePolicy": { + "window": {} + }, + "masterAuthorizedNetworksConfig": { + "gcpPublicCidrsAccessEnabled": true + }, + "monitoringConfig": { + "advancedDatapathObservabilityConfig": {}, + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS" + ] + }, + "managedPrometheusConfig": { + "enabled": true + } + }, + "monitoringService": "monitoring.googleapis.com/kubernetes", + "name": "container-cluster-${uniqueId}", + "network": "default", + "networkConfig": { + "network": "projects/example-project-01/global/networks/default", + "subnetwork": "default" + }, + "networkPolicy": {}, + "nodeConfig": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "nodePools": [ + { + "config": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "initialNodeCount": 1, + "locations": [ + "us-south1-a" + ], + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "maxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "name": "default-pool", + "networkConfig": { + "enablePrivateNodes": false, + "podIpv4CidrBlock": "10.92.0.0/14", + "podIpv4RangeUtilization": 0.001, + "podRange": "default-pool-pods-12345678" + }, + "podIpv4CidrSize": 24, + "status": "RUNNING", + "upgradeSettings": { + "maxSurge": 1, + "strategy": "SURGE" + }, + "version": "1.30.5-gke.1014001" + } + ], + "notificationConfig": { + "pubsub": {} + }, + "privateCluster": true, + "privateClusterConfig": { + "privateEndpoint": "10.128.0.2", + "publicEndpoint": "8.8.8.8" + }, + "protectConfig": { + "workloadConfig": { + "auditMode": "BASIC" + }, + "workloadVulnerabilityMode": "WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED" + }, + "releaseChannel": { + "channel": "REGULAR" + }, + "resourceLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "securityPostureConfig": { + "mode": "BASIC", + "vulnerabilityMode": "VULNERABILITY_MODE_UNSPECIFIED" + }, + "selfLink": "https://container.googleapis.com/v1beta1/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "servicesIpv4Cidr": "34.118.224.0/20", + "shieldedNodes": { + "enabled": true + }, + "status": "RUNNING", + "subnetwork": "default", + "workloadIdentityConfig": { + "workloadPool": "example-project-01.svc.id.goog" + }, + "zone": "us-south1-a" +} + +--- + +DELETE https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "name": "${operationID}", + "operationType": "DELETE_CLUSTER", + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "RUNNING", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "endTime": "2024-04-01T12:34:56.123456Z", + "name": "${operationID}", + "operationType": "DELETE_CLUSTER", + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "DONE", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} \ No newline at end of file diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/create.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/create.yaml new file mode 100644 index 0000000000..e1fffe210b --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/create.yaml @@ -0,0 +1,31 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeatureMembership +metadata: + name: gkehubfeaturemembership-basic-csau-${uniqueId} +spec: + projectRef: + name: project-${uniqueId} + location: global + membershipLocation: us-south1 + membershipRef: + name: gkehubmembership-basic-csau-${uniqueId} + featureRef: + name: gkehubfeature-basic-csau-${uniqueId} + configmanagement: + configSync: + sourceFormat: unstructured + management: "MANAGEMENT_MANUAL" diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/dependencies.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/dependencies.yaml new file mode 100644 index 0000000000..a9d1e02e82 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/dependencies.yaml @@ -0,0 +1,112 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1 +kind: Project +metadata: + annotations: + cnrm.cloud.google.com/deletion-policy: "abandon" + name: project-${uniqueId} +spec: + resourceID: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: "Dependent Project" + organizationRef: + external: ${TEST_ORG_ID} + billingAccountRef: + external: ${TEST_BILLING_ACCOUNT_ID} +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + cnrm.cloud.google.com/deletion-policy: "abandon" + name: container.googleapis.com +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + cnrm.cloud.google.com/deletion-policy: "abandon" + name: anthos.googleapis.com +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + # Abandon the resource to unblock cleanup; Otherwise it fails with error message + # "Error waiting for api to disable ... ensure there are no more resources managed + # by this service." Likely there is some delay in GKEHub resources clean up. + cnrm.cloud.google.com/deletion-policy: "abandon" + name: gkehub.googleapis.com +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + cnrm.cloud.google.com/deletion-policy: "abandon" + name: anthosconfigmanagement.googleapis.com +--- +apiVersion: container.cnrm.cloud.google.com/v1beta1 +kind: ContainerCluster +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: container-cluster-${uniqueId} +spec: + location: us-south1-a + initialNodeCount: 1 + workloadIdentityConfig: + workloadPool: ${TEST_DEPENDENT_ORG_PROJECT_ID_WITHOUT_QUOTATION}.svc.id.goog +--- +apiVersion: iam.cnrm.cloud.google.com/v1beta1 +kind: IAMServiceAccount +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: sa-${uniqueId} +spec: + displayName: A Test Service Account +--- +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeature +metadata: + name: gkehubfeature-basic-csau-${uniqueId} + annotations: + # Abondon the feature resource as it is global within a project and we would hit issues when running two tests in parallel. + cnrm.cloud.google.com/deletion-policy: "abandon" +spec: + projectRef: + name: project-${uniqueId} + location: global + resourceID: configmanagement +--- +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubMembership +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: gkehubmembership-basic-csau-${uniqueId} +spec: + location: us-south1 + authority: + issuer: https://container.googleapis.com/v1/projects/${TEST_DEPENDENT_ORG_PROJECT_ID_WITHOUT_QUOTATION}/locations/us-south1-a/clusters/container-cluster-${uniqueId} + description: A sample GKE Hub membership + endpoint: + gkeCluster: + resourceRef: + name: container-cluster-${uniqueId} diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/update.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/update.yaml new file mode 100644 index 0000000000..8cdcec9953 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/basiccsaugkehubfeaturemembership/update.yaml @@ -0,0 +1,42 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeatureMembership +metadata: + name: gkehubfeaturemembership-basic-csau-${uniqueId} +spec: + projectRef: + name: project-${uniqueId} + location: global + membershipLocation: us-south1 + membershipRef: + name: gkehubmembership-basic-csau-${uniqueId} + featureRef: + name: gkehubfeature-basic-csau-${uniqueId} + configmanagement: + configSync: + sourceFormat: hierarchy + git: + gcpServiceAccountRef: + name: sa-${uniqueId} + httpsProxy: "https://github.com" + syncRepo: "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit" + syncBranch: "master" + policyDir: "config-connector" + syncWaitSecs: "20" + syncRev: "HEAD" + secretType: "none" + management: "MANAGEMENT_AUTOMATIC" + diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_generated_object_fullacmgkehubfeaturemembership.golden.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_generated_object_fullacmgkehubfeaturemembership.golden.yaml index f51deb8182..36ff00f725 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_generated_object_fullacmgkehubfeaturemembership.golden.yaml +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_generated_object_fullacmgkehubfeaturemembership.golden.yaml @@ -25,7 +25,6 @@ spec: syncRev: 264b37c21ef77165d8639d77b23d4ebb8fee053c syncWaitSecs: "30" sourceFormat: hierarchy - management: MANAGEMENT_AUTOMATIC version: 1.18.2 featureRef: name: gkehubfeature-full-acm-${uniqueId} diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_http.log b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_http.log index d8eb182c31..1268c2ad70 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_http.log +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/_http.log @@ -1471,7 +1471,6 @@ User-Agent: kcc/controller-manager }, "sourceFormat": "hierarchy" }, - "management": "MANAGEMENT_MANUAL", "version": "1.18.1" } } @@ -1631,7 +1630,6 @@ User-Agent: kcc/controller-manager }, "sourceFormat": "hierarchy" }, - "management": "MANAGEMENT_AUTOMATIC", "version": "1.18.2" } } diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/create.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/create.yaml index e086ca530d..c2ea8601f5 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/create.yaml +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/create.yaml @@ -39,4 +39,3 @@ spec: syncRev: "HEAD" secretType: "none" version: "1.18.1" - management: "MANAGEMENT_MANUAL" diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/update.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/update.yaml index c2c9f0cdcf..8a08976c6c 100644 --- a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/update.yaml +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullacmgkehubfeaturemembership/update.yaml @@ -39,4 +39,3 @@ spec: syncRev: "264b37c21ef77165d8639d77b23d4ebb8fee053c" secretType: "none" version: "1.18.2" - management: "MANAGEMENT_AUTOMATIC" diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/_generated_object_fullcsaugkehubfeaturemembership.golden.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/_generated_object_fullcsaugkehubfeaturemembership.golden.yaml new file mode 100644 index 0000000000..9967b60008 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/_generated_object_fullcsaugkehubfeaturemembership.golden.yaml @@ -0,0 +1,44 @@ +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeatureMembership +metadata: + annotations: + cnrm.cloud.google.com/management-conflict-prevention-policy: none + finalizers: + - cnrm.cloud.google.com/finalizer + - cnrm.cloud.google.com/deletion-defender + generation: 2 + labels: + cnrm-test: "true" + name: gkehubfeaturemembership-full-csau-${uniqueId} + namespace: ${uniqueId} +spec: + configmanagement: + configSync: + git: + gcpServiceAccountRef: + name: sa-${uniqueId} + httpsProxy: https://github.com + policyDir: config-sync-quickstart/multirepo/root + secretType: none + syncBranch: main + syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples + syncRev: 264b37c21ef77165d8639d77b23d4ebb8fee053c + syncWaitSecs: "30" + sourceFormat: hierarchy + management: MANAGEMENT_AUTOMATIC + featureRef: + name: gkehubfeature-full-csau-${uniqueId} + location: global + membershipLocation: us-south1 + membershipRef: + name: gkehubmembership-full-csau-${uniqueId} + projectRef: + name: project-${uniqueId} +status: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: The resource is up to date + reason: UpToDate + status: "True" + type: Ready + observedGeneration: 2 diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/_http.log b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/_http.log new file mode 100644 index 0000000000..59ba868129 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/_http.log @@ -0,0 +1,2231 @@ +GET https://cloudresourcemanager.googleapis.com/v1/projects/example-project-01?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +403 Forbidden +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 403, + "message": "The caller does not have permission", + "status": "PERMISSION_DENIED" + } +} + +--- + +POST https://cloudbilling.googleapis.com/v1/billingAccounts/${billingAccountID}:testIamPermissions?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "permissions": [ + "billing.resourceAssociations.create" + ] +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "permissions": [ + "billing.resourceAssociations.create" + ] +} + +--- + +POST https://cloudresourcemanager.googleapis.com/v1/projects?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "Dependent Project", + "parent": { + "id": "${organizationID}", + "type": "organization" + }, + "projectId": "example-project-01" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "name": "operations/${operationID}" +} + +--- + +GET https://cloudresourcemanager.googleapis.com/v1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.CreateProjectMetadata" + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Project", + "createTime": "2024-04-01T12:34:56.123456Z", + "displayName": "Dependent Project", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}", + "parent": "organizations/${organizationID}", + "projectId": "example-project-01", + "state": "ACTIVE" + } +} + +--- + +PUT https://cloudbilling.googleapis.com/v1/projects/example-project-01/billingInfo?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "billingAccountName": "billingAccounts/${billingAccountID}" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "billingAccountName": "billingAccounts/${billingAccountID}", + "billingEnabled": true, + "name": "projects/example-project-01/billingInfo", + "projectId": "example-project-01" +} + +--- + +GET https://cloudbilling.googleapis.com/v1/projects/example-project-01/billingInfo?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "billingAccountName": "billingAccounts/${billingAccountID}", + "billingEnabled": true, + "name": "projects/example-project-01/billingInfo", + "projectId": "example-project-01" +} + +--- + +GET https://cloudresourcemanager.googleapis.com/v1/projects/example-project-01?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "createTime": "2024-04-01T12:34:56.123456Z", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "lifecycleState": "ACTIVE", + "name": "Dependent Project", + "parent": { + "id": "${organizationID}", + "type": "organization" + }, + "projectId": "example-project-01", + "projectNumber": "${projectNumber}" +} + +--- + +GET https://cloudbilling.googleapis.com/v1/projects/example-project-01/billingInfo?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "billingAccountName": "billingAccounts/${billingAccountID}", + "billingEnabled": true, + "name": "projects/example-project-01/billingInfo", + "projectId": "example-project-01" +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/container.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/anthos.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/gkehub.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/gkehub.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/gkehub.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +POST https://serviceusage.googleapis.com/v1/projects/example-project-01/services/anthosconfigmanagement.googleapis.com:enable?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}" +} + +--- + +GET https://serviceusage.googleapis.com/v1beta1/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.protobuf.Empty", + "value": {} + }, + "name": "operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse", + "service": { + "name": "projects/${projectNumber}/services/anthosconfigmanagement.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + } +} + +--- + +GET https://serviceusage.googleapis.com/v1/projects/example-project-01/services?alt=json&fields=services%2Fname%2CnextPageToken&filter=state%3AENABLED&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "services": [ + { + "name": "projects/${projectNumber}/services/gkehub.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/anthos.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/anthosconfigmanagement.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + }, + { + "name": "projects/${projectNumber}/services/container.googleapis.com", + "parent": "projects/${projectNumber}", + "state": "ENABLED" + } + ] +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "errors": [ + { + "domain": "global", + "message": "Not found: projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}.", + "reason": "notFound" + } + ], + "message": "Not found: projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}.", + "status": "NOT_FOUND" + } +} + +--- + +POST https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "cluster": { + "autopilot": { + "enabled": false + }, + "autoscaling": { + "enableNodeAutoprovisioning": false + }, + "binaryAuthorization": { + "enabled": false + }, + "initialNodeCount": 1, + "ipAllocationPolicy": { + "stackType": "IPV4", + "useIpAliases": false + }, + "legacyAbac": { + "enabled": false + }, + "maintenancePolicy": { + "window": {} + }, + "masterAuthorizedNetworksConfig": {}, + "name": "container-cluster-${uniqueId}", + "network": "projects/example-project-01/global/networks/default", + "networkConfig": {}, + "networkPolicy": {}, + "nodeConfig": { + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ] + }, + "notificationConfig": { + "pubsub": {} + }, + "resourceLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "shieldedNodes": { + "enabled": true + }, + "workloadIdentityConfig": { + "workloadPool": "example-project-01.svc.id.goog" + } + } +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "name": "${operationID}", + "operationType": "CREATE_CLUSTER", + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "RUNNING", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "endTime": "2024-04-01T12:34:56.123456Z", + "name": "${operationID}", + "operationType": "CREATE_CLUSTER", + "progress": { + "metrics": [ + { + "intValue": "10", + "name": "CLUSTER_CONFIGURING" + }, + { + "intValue": "10", + "name": "CLUSTER_CONFIGURING_TOTAL" + }, + { + "intValue": "12", + "name": "CLUSTER_DEPLOYING" + }, + { + "intValue": "12", + "name": "CLUSTER_DEPLOYING_TOTAL" + }, + { + "intValue": "1", + "name": "CLUSTER_HEALTHCHECKING" + }, + { + "intValue": "2", + "name": "CLUSTER_HEALTHCHECKING_TOTAL" + } + ] + }, + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "DONE", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "addonsConfig": { + "gcePersistentDiskCsiDriverConfig": { + "enabled": true + }, + "kubernetesDashboard": { + "disabled": true + }, + "networkPolicyConfig": { + "disabled": true + } + }, + "autopilot": {}, + "autoscaling": { + "autoprovisioningNodePoolDefaults": { + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/cloud-platform" + ], + "upgradeSettings": { + "strategy": "SURGE" + } + }, + "autoscalingProfile": "BALANCED" + }, + "binaryAuthorization": {}, + "clusterIpv4Cidr": "10.92.0.0/14", + "clusterTelemetry": { + "type": "ENABLED" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "currentMasterVersion": "1.30.5-gke.1014001", + "currentNodeCount": 1, + "currentNodeVersion": "1.30.5-gke.1014001", + "databaseEncryption": { + "currentState": "CURRENT_STATE_DECRYPTED", + "state": "DECRYPTED" + }, + "defaultMaxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "enterpriseConfig": { + "clusterTier": "STANDARD" + }, + "initialClusterVersion": "1.30.5-gke.1014001", + "initialNodeCount": 1, + "ipAllocationPolicy": { + "stackType": "IPV4" + }, + "legacyAbac": {}, + "location": "us-south1-a", + "locations": [ + "us-south1-a" + ], + "loggingConfig": { + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS", + "WORKLOADS" + ] + } + }, + "loggingService": "logging.googleapis.com/kubernetes", + "maintenancePolicy": { + "window": {} + }, + "masterAuthorizedNetworksConfig": { + "gcpPublicCidrsAccessEnabled": true + }, + "monitoringConfig": { + "advancedDatapathObservabilityConfig": {}, + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS" + ] + }, + "managedPrometheusConfig": { + "enabled": true + } + }, + "monitoringService": "monitoring.googleapis.com/kubernetes", + "name": "container-cluster-${uniqueId}", + "network": "default", + "networkConfig": { + "network": "projects/example-project-01/global/networks/default", + "subnetwork": "default" + }, + "networkPolicy": {}, + "nodeConfig": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "nodePools": [ + { + "config": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "initialNodeCount": 1, + "locations": [ + "us-south1-a" + ], + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "maxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "name": "default-pool", + "networkConfig": { + "enablePrivateNodes": false, + "podIpv4CidrBlock": "10.92.0.0/14", + "podIpv4RangeUtilization": 0.001, + "podRange": "default-pool-pods-12345678" + }, + "podIpv4CidrSize": 24, + "status": "RUNNING", + "upgradeSettings": { + "maxSurge": 1, + "strategy": "SURGE" + }, + "version": "1.30.5-gke.1014001" + } + ], + "notificationConfig": { + "pubsub": {} + }, + "privateCluster": true, + "privateClusterConfig": { + "privateEndpoint": "10.128.0.2", + "publicEndpoint": "8.8.8.8" + }, + "protectConfig": { + "workloadConfig": { + "auditMode": "BASIC" + }, + "workloadVulnerabilityMode": "WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED" + }, + "releaseChannel": { + "channel": "REGULAR" + }, + "resourceLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "securityPostureConfig": { + "mode": "BASIC", + "vulnerabilityMode": "VULNERABILITY_MODE_UNSPECIFIED" + }, + "selfLink": "https://container.googleapis.com/v1beta1/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "servicesIpv4Cidr": "34.118.224.0/20", + "shieldedNodes": { + "enabled": true + }, + "status": "RUNNING", + "subnetwork": "default", + "workloadIdentityConfig": { + "workloadPool": "example-project-01.svc.id.goog" + }, + "zone": "us-south1-a" +} + +--- + +GET https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "errors": [ + { + "domain": "global", + "message": "Unknown service account", + "reason": "notFound" + } + ], + "message": "Unknown service account", + "status": "NOT_FOUND" + } +} + +--- + +POST https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts?alt=json&prettyPrint=false +Content-Type: application/json +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +{ + "accountId": "sa-${uniqueId}", + "serviceAccount": { + "displayName": "A Test Service Account" + } +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "displayName": "A Test Service Account", + "email": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "etag": "abcdef0123A=", + "name": "projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "oauth2ClientId": "888888888888888888888", + "projectId": "example-project-01", + "uniqueId": "111111111111111111111" +} + +--- + +GET https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "displayName": "A Test Service Account", + "email": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "etag": "abcdef0123A=", + "name": "projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "oauth2ClientId": "888888888888888888888", + "projectId": "example-project-01", + "uniqueId": "111111111111111111111" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "feature \"projects/example-project-01/locations/global/features/configmanagement\" not found", + "status": "NOT_FOUND" + } +} + +--- + +POST https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features?alt=json&featureId=configmanagement +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "createTime": "2024-04-01T12:34:56.123456Z", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "membership \"projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}\" not found", + "status": "NOT_FOUND" + } +} + +--- + +POST https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships?alt=json&membershipId=gkehubmembership-full-csau-${uniqueId} +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +{ + "authority": { + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}" + }, + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}/operations/${operationID}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.Membership", + "authority": { + "identityProvider": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "workloadIdentityPool": "${projectId}.svc.id.goog" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "externalId": "c772f869-1d6c-4d50-a92e-816c48322246", + "infrastructureType": "MULTI_CLOUD", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}", + "state": { + "code": "READY" + }, + "uniqueId": "12345678", + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "authority": { + "identityProvider": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "workloadIdentityPool": "${projectId}.svc.id.goog" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "externalId": "c772f869-1d6c-4d50-a92e-816c48322246", + "infrastructureType": "MULTI_CLOUD", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}", + "state": { + "code": "READY" + }, + "uniqueId": "111111111111111111111", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +--- + +PATCH https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false&updateMask=membershipSpecs +Content-Type: application/json +User-Agent: kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-connector", + "secretType": "none", + "syncBranch": "master", + "syncRepo": "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit", + "syncRev": "HEAD", + "syncWaitSecs": "20" + }, + "sourceFormat": "hierarchy" + }, + "management": "MANAGEMENT_MANUAL" + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-connector", + "secretType": "none", + "syncBranch": "master", + "syncRepo": "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit", + "syncRev": "HEAD", + "syncWaitSecs": "20" + }, + "sourceFormat": "hierarchy" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-connector", + "secretType": "none", + "syncBranch": "master", + "syncRepo": "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit", + "syncRev": "HEAD", + "syncWaitSecs": "20" + }, + "sourceFormat": "hierarchy" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +PATCH https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false&updateMask=membershipSpecs +Content-Type: application/json +User-Agent: kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-sync-quickstart/multirepo/root", + "secretType": "none", + "syncBranch": "main", + "syncRepo": "https://github.com/GoogleCloudPlatform/anthos-config-management-samples", + "syncRev": "264b37c21ef77165d8639d77b23d4ebb8fee053c", + "syncWaitSecs": "30" + }, + "sourceFormat": "hierarchy" + }, + "management": "MANAGEMENT_AUTOMATIC" + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-sync-quickstart/multirepo/root", + "secretType": "none", + "syncBranch": "main", + "syncRepo": "https://github.com/GoogleCloudPlatform/anthos-config-management-samples", + "syncRev": "264b37c21ef77165d8639d77b23d4ebb8fee053c", + "syncWaitSecs": "30" + }, + "sourceFormat": "hierarchy" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": { + "configmanagement": { + "configSync": { + "git": { + "gcpServiceAccountEmail": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "httpsProxy": "https://github.com", + "policyDir": "config-sync-quickstart/multirepo/root", + "secretType": "none", + "syncBranch": "main", + "syncRepo": "https://github.com/GoogleCloudPlatform/anthos-config-management-samples", + "syncRev": "264b37c21ef77165d8639d77b23d4ebb8fee053c", + "syncWaitSecs": "30" + }, + "sourceFormat": "hierarchy" + } + } + } + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +PATCH https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement?alt=json&prettyPrint=false&updateMask=membershipSpecs +Content-Type: application/json +User-Agent: kcc/controller-manager + +{ + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": {} + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}" +} + +--- + +GET https://gkehub.googleapis.com/v1beta/projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/global/features/configmanagement" + }, + "name": "projects/example-project-01/locations/global/features/configmanagement/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta.Feature", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "membershipSpecs": { + "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}": {} + }, + "name": "projects/example-project-01/locations/global/features/configmanagement", + "resourceState": { + "state": "ACTIVE" + }, + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "authority": { + "identityProvider": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "issuer": "https://container.googleapis.com/v1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}", + "workloadIdentityPool": "${projectId}.svc.id.goog" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "A sample GKE Hub membership", + "endpoint": { + "gkeCluster": { + "resourceLink": "//container.googleapis.com/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}" + } + }, + "externalId": "c772f869-1d6c-4d50-a92e-816c48322246", + "infrastructureType": "MULTI_CLOUD", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}", + "state": { + "code": "READY" + }, + "uniqueId": "111111111111111111111", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +DELETE https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.OperationMetadata", + "createTime": "2024-04-01T12:34:56.123456Z", + "endTime": "2024-04-01T12:34:56.123456Z", + "target": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}" + }, + "name": "projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}/operations/${operationID}", + "response": { + "@type": "type.googleapis.com/google.cloud.gkehub.v1beta1.Membership" + } +} + +--- + +GET https://gkehub.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "membership \"projects/example-project-01/locations/us-south1/memberships/gkehubmembership-full-csau-${uniqueId}\" not found", + "status": "NOT_FOUND" + } +} + +--- + +GET https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "displayName": "A Test Service Account", + "email": "sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "etag": "abcdef0123A=", + "name": "projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com", + "oauth2ClientId": "888888888888888888888", + "projectId": "example-project-01", + "uniqueId": "111111111111111111111" +} + +--- + +DELETE https://iam.googleapis.com/v1/projects/example-project-01/serviceAccounts/sa-${uniqueId}@example-project-01.iam.gserviceaccount.com?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "addonsConfig": { + "gcePersistentDiskCsiDriverConfig": { + "enabled": true + }, + "kubernetesDashboard": { + "disabled": true + }, + "networkPolicyConfig": { + "disabled": true + } + }, + "autopilot": {}, + "autoscaling": { + "autoprovisioningNodePoolDefaults": { + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/cloud-platform" + ], + "upgradeSettings": { + "strategy": "SURGE" + } + }, + "autoscalingProfile": "BALANCED" + }, + "binaryAuthorization": {}, + "clusterIpv4Cidr": "10.92.0.0/14", + "clusterTelemetry": { + "type": "ENABLED" + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "currentMasterVersion": "1.30.5-gke.1014001", + "currentNodeCount": 1, + "currentNodeVersion": "1.30.5-gke.1014001", + "databaseEncryption": { + "currentState": "CURRENT_STATE_DECRYPTED", + "state": "DECRYPTED" + }, + "defaultMaxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "enterpriseConfig": { + "clusterTier": "STANDARD" + }, + "initialClusterVersion": "1.30.5-gke.1014001", + "initialNodeCount": 1, + "ipAllocationPolicy": { + "stackType": "IPV4" + }, + "legacyAbac": {}, + "location": "us-south1-a", + "locations": [ + "us-south1-a" + ], + "loggingConfig": { + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS", + "WORKLOADS" + ] + } + }, + "loggingService": "logging.googleapis.com/kubernetes", + "maintenancePolicy": { + "window": {} + }, + "masterAuthorizedNetworksConfig": { + "gcpPublicCidrsAccessEnabled": true + }, + "monitoringConfig": { + "advancedDatapathObservabilityConfig": {}, + "componentConfig": { + "enableComponents": [ + "SYSTEM_COMPONENTS" + ] + }, + "managedPrometheusConfig": { + "enabled": true + } + }, + "monitoringService": "monitoring.googleapis.com/kubernetes", + "name": "container-cluster-${uniqueId}", + "network": "default", + "networkConfig": { + "network": "projects/example-project-01/global/networks/default", + "subnetwork": "default" + }, + "networkPolicy": {}, + "nodeConfig": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "nodePools": [ + { + "config": { + "diskSizeGb": 100, + "diskType": "pd-balanced", + "imageType": "COS_CONTAINERD", + "machineType": "e2-medium", + "metadata": { + "disable-legacy-endpoints": "true" + }, + "oauthScopes": [ + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/service.management.readonly", + "https://www.googleapis.com/auth/servicecontrol", + "https://www.googleapis.com/auth/trace.append" + ], + "serviceAccount": "default", + "shieldedInstanceConfig": { + "enableIntegrityMonitoring": true + }, + "windowsNodeConfig": {} + }, + "initialNodeCount": 1, + "locations": [ + "us-south1-a" + ], + "management": { + "autoRepair": true, + "autoUpgrade": true + }, + "maxPodsConstraint": { + "maxPodsPerNode": "110" + }, + "name": "default-pool", + "networkConfig": { + "enablePrivateNodes": false, + "podIpv4CidrBlock": "10.92.0.0/14", + "podIpv4RangeUtilization": 0.001, + "podRange": "default-pool-pods-12345678" + }, + "podIpv4CidrSize": 24, + "status": "RUNNING", + "upgradeSettings": { + "maxSurge": 1, + "strategy": "SURGE" + }, + "version": "1.30.5-gke.1014001" + } + ], + "notificationConfig": { + "pubsub": {} + }, + "privateCluster": true, + "privateClusterConfig": { + "privateEndpoint": "10.128.0.2", + "publicEndpoint": "8.8.8.8" + }, + "protectConfig": { + "workloadConfig": { + "auditMode": "BASIC" + }, + "workloadVulnerabilityMode": "WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED" + }, + "releaseChannel": { + "channel": "REGULAR" + }, + "resourceLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "securityPostureConfig": { + "mode": "BASIC", + "vulnerabilityMode": "VULNERABILITY_MODE_UNSPECIFIED" + }, + "selfLink": "https://container.googleapis.com/v1beta1/projects/example-project-01/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "servicesIpv4Cidr": "34.118.224.0/20", + "shieldedNodes": { + "enabled": true + }, + "status": "RUNNING", + "subnetwork": "default", + "workloadIdentityConfig": { + "workloadPool": "example-project-01.svc.id.goog" + }, + "zone": "us-south1-a" +} + +--- + +DELETE https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/clusters/container-cluster-${uniqueId}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "name": "${operationID}", + "operationType": "DELETE_CLUSTER", + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "RUNNING", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} + +--- + +GET https://container.googleapis.com/v1beta1/projects/example-project-01/locations/us-south1-a/operations/${operationID}?alt=json&prettyPrint=false +User-Agent: google-api-go-client/0.5 Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/kcc/controller-manager + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "endTime": "2024-04-01T12:34:56.123456Z", + "name": "${operationID}", + "operationType": "DELETE_CLUSTER", + "selfLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/operations/${operationID}", + "startTime": "2024-04-01T12:34:56.123456Z", + "status": "DONE", + "targetLink": "https://container.googleapis.com/v1beta1/projects/${projectNumber}/zones/us-south1-a/clusters/container-cluster-${uniqueId}", + "zone": "us-south1-a" +} \ No newline at end of file diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/create.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/create.yaml new file mode 100644 index 0000000000..0442041e19 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/create.yaml @@ -0,0 +1,42 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeatureMembership +metadata: + name: gkehubfeaturemembership-full-csau-${uniqueId} +spec: + projectRef: + name: project-${uniqueId} + location: global + membershipLocation: us-south1 + membershipRef: + name: gkehubmembership-full-csau-${uniqueId} + featureRef: + name: gkehubfeature-full-csau-${uniqueId} + configmanagement: + configSync: + sourceFormat: hierarchy + git: + gcpServiceAccountRef: + name: sa-${uniqueId} + httpsProxy: "https://github.com" + syncRepo: "https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit" + syncBranch: "master" + policyDir: "config-connector" + syncWaitSecs: "20" + syncRev: "HEAD" + secretType: "none" + management: "MANAGEMENT_MANUAL" + diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/dependencies.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/dependencies.yaml new file mode 100644 index 0000000000..5cd3849054 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/dependencies.yaml @@ -0,0 +1,112 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1 +kind: Project +metadata: + annotations: + cnrm.cloud.google.com/deletion-policy: "abandon" + name: project-${uniqueId} +spec: + resourceID: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: "Dependent Project" + organizationRef: + external: ${TEST_ORG_ID} + billingAccountRef: + external: ${TEST_BILLING_ACCOUNT_ID} +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + cnrm.cloud.google.com/deletion-policy: "abandon" + name: container.googleapis.com +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + cnrm.cloud.google.com/deletion-policy: "abandon" + name: anthos.googleapis.com +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + # Abandon the resource to unblock cleanup; Otherwise it fails with error message + # "Error waiting for api to disable ... ensure there are no more resources managed + # by this service." Likely there is some delay in GKEHub resources clean up. + cnrm.cloud.google.com/deletion-policy: "abandon" + name: gkehub.googleapis.com +--- +apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 +kind: Service +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + cnrm.cloud.google.com/deletion-policy: "abandon" + name: anthosconfigmanagement.googleapis.com +--- +apiVersion: container.cnrm.cloud.google.com/v1beta1 +kind: ContainerCluster +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: container-cluster-${uniqueId} +spec: + location: us-south1-a + initialNodeCount: 1 + workloadIdentityConfig: + workloadPool: ${TEST_DEPENDENT_ORG_PROJECT_ID_WITHOUT_QUOTATION}.svc.id.goog +--- +apiVersion: iam.cnrm.cloud.google.com/v1beta1 +kind: IAMServiceAccount +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: sa-${uniqueId} +spec: + displayName: A Test Service Account +--- +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeature +metadata: + name: gkehubfeature-full-csau-${uniqueId} + annotations: + # Abondon the feature resource as it is global within a project and we would hit issues when running two tests in parallel. + cnrm.cloud.google.com/deletion-policy: "abandon" +spec: + projectRef: + name: project-${uniqueId} + location: global + resourceID: configmanagement +--- +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubMembership +metadata: + annotations: + cnrm.cloud.google.com/project-id: ${TEST_DEPENDENT_ORG_PROJECT_ID} + name: gkehubmembership-full-csau-${uniqueId} +spec: + location: us-south1 + authority: + issuer: https://container.googleapis.com/v1/projects/${TEST_DEPENDENT_ORG_PROJECT_ID_WITHOUT_QUOTATION}/locations/us-south1-a/clusters/container-cluster-${uniqueId} + description: A sample GKE Hub membership + endpoint: + gkeCluster: + resourceRef: + name: container-cluster-${uniqueId} diff --git a/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/update.yaml b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/update.yaml new file mode 100644 index 0000000000..5893791b3d --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/gkehub/v1beta1/gkehubfeaturemembership/fullcsaugkehubfeaturemembership/update.yaml @@ -0,0 +1,42 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 +kind: GKEHubFeatureMembership +metadata: + name: gkehubfeaturemembership-full-csau-${uniqueId} +spec: + projectRef: + name: project-${uniqueId} + location: global + membershipLocation: us-south1 + membershipRef: + name: gkehubmembership-full-csau-${uniqueId} + featureRef: + name: gkehubfeature-full-csau-${uniqueId} + configmanagement: + configSync: + sourceFormat: hierarchy + git: + gcpServiceAccountRef: + name: sa-${uniqueId} + httpsProxy: "https://github.com" + syncRepo: "https://github.com/GoogleCloudPlatform/anthos-config-management-samples" + syncBranch: "main" + policyDir: "config-sync-quickstart/multirepo/root" + syncWaitSecs: "30" + syncRev: "264b37c21ef77165d8639d77b23d4ebb8fee053c" + secretType: "none" + management: "MANAGEMENT_AUTOMATIC" +