Skip to content

Commit

Permalink
Add support for the management field in ConfigManagement Fleet-level …
Browse files Browse the repository at this point in the history
…default config (#11291)
  • Loading branch information
haiyanmeng authored Aug 1, 2024
1 parent 70c3484 commit fcb5188
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 0 deletions.
7 changes: 7 additions & 0 deletions mmv1/products/gkehub2/Feature.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,13 @@ properties:
- !ruby/object:Api::Type::String
name: version
description: 'Version of ACM installed'
- !ruby/object:Api::Type::Enum
name: management
description: 'Set this field to MANAGEMENT_AUTOMATIC to enable Config Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED to disable Config Sync auto-upgrades.'
values:
- :MANAGEMENT_UNSPECIFIED
- :MANAGEMENT_AUTOMATIC
- :MANAGEMENT_MANUAL
- !ruby/object:Api::Type::NestedObject
name: configSync
description: 'ConfigSync configuration for the cluster'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -492,10 +492,53 @@ func TestAccGKEHubFeature_FleetDefaultMemberConfigConfigManagement(t *testing.T)
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagementEnableAutomaticManagementUpdate(context),
},
{
ResourceName: "google_gke_hub_feature.feature",
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagementRemovalUpdate(context),
},
{
ResourceName: "google_gke_hub_feature.feature",
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagementAutomaticManagement(context),
},
{
ResourceName: "google_gke_hub_feature.feature",
ImportState: true,
ImportStateVerify: true,
},
},
})
}

func testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagementAutomaticManagement(context map[string]interface{}) string {
return gkeHubFeatureProjectSetupForGA(context) + acctest.Nprintf(`
resource "google_gke_hub_feature" "feature" {
name = "configmanagement"
location = "global"
fleet_default_member_config {
configmanagement {
management = "MANAGEMENT_AUTOMATIC"
config_sync {
enabled = true
}
}
}
depends_on = [google_project_service.anthos, google_project_service.gkehub, google_project_service.acm]
project = google_project.project.project_id
}
`, context)
}

func testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagement(context map[string]interface{}) string {
return gkeHubFeatureProjectSetupForGA(context) + acctest.Nprintf(`
resource "google_gke_hub_feature" "feature" {
Expand Down Expand Up @@ -531,6 +574,7 @@ resource "google_gke_hub_feature" "feature" {
fleet_default_member_config {
configmanagement {
version = "1.16.1"
management = "MANAGEMENT_MANUAL"
config_sync {
enabled = true
prevent_drift = true
Expand All @@ -551,6 +595,45 @@ resource "google_gke_hub_feature" "feature" {
`, context)
}

func testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagementEnableAutomaticManagementUpdate(context map[string]interface{}) string {
return gkeHubFeatureProjectSetupForGA(context) + acctest.Nprintf(`
resource "google_gke_hub_feature" "feature" {
name = "configmanagement"
location = "global"
fleet_default_member_config {
configmanagement {
version = "1.16.1"
management = "MANAGEMENT_AUTOMATIC"
config_sync {
prevent_drift = true
source_format = "unstructured"
oci {
sync_repo = "us-central1-docker.pkg.dev/corp-gke-build-artifacts/acm/configs:latest"
policy_dir = "/acm/nonprod-root/"
secret_type = "gcpserviceaccount"
sync_wait_secs = "15"
gcp_service_account_email = "[email protected]"
}
}
}
}
depends_on = [google_project_service.anthos, google_project_service.gkehub, google_project_service.acm]
project = google_project.project.project_id
}
`, context)
}

func testAccGKEHubFeature_FleetDefaultMemberConfigConfigManagementRemovalUpdate(context map[string]interface{}) string {
return gkeHubFeatureProjectSetupForGA(context) + acctest.Nprintf(`
resource "google_gke_hub_feature" "feature" {
name = "configmanagement"
location = "global"
depends_on = [google_project_service.anthos, google_project_service.gkehub, google_project_service.acm]
project = google_project.project.project_id
}
`, context)
}

func TestAccGKEHubFeature_Clusterupgrade(t *testing.T) {
// VCR fails to handle batched project services
acctest.SkipIfVcr(t)
Expand Down

0 comments on commit fcb5188

Please sign in to comment.