@@ -676,6 +676,26 @@ indicate real problems requiring user intervention.`,
676676 },
677677 },
678678 },
679+ "private_registry_config" : {
680+ Type : schema .TypeList ,
681+ Optional : true ,
682+ Description : `Configuration for private registry.` ,
683+ MaxItems : 1 ,
684+ Elem : & schema.Resource {
685+ Schema : map [string ]* schema.Schema {
686+ "address" : {
687+ Type : schema .TypeString ,
688+ Optional : true ,
689+ Description : `The registry address.` ,
690+ },
691+ "ca_cert" : {
692+ Type : schema .TypeString ,
693+ Optional : true ,
694+ Description : `The CA certificate public key for private registry.` ,
695+ },
696+ },
697+ },
698+ },
679699 "vcenter" : {
680700 Type : schema .TypeList ,
681701 Optional : true ,
@@ -961,6 +981,12 @@ func resourceGkeonpremVmwareAdminClusterCreate(d *schema.ResourceData, meta inte
961981 } else if v , ok := d .GetOkExists ("platform_config" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (platformConfigProp )) && (ok || ! reflect .DeepEqual (v , platformConfigProp )) {
962982 obj ["platformConfig" ] = platformConfigProp
963983 }
984+ privateRegistryConfigProp , err := expandGkeonpremVmwareAdminClusterPrivateRegistryConfig (d .Get ("private_registry_config" ), d , config )
985+ if err != nil {
986+ return err
987+ } else if v , ok := d .GetOkExists ("private_registry_config" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (privateRegistryConfigProp )) && (ok || ! reflect .DeepEqual (v , privateRegistryConfigProp )) {
988+ obj ["privateRegistryConfig" ] = privateRegistryConfigProp
989+ }
964990 annotationsProp , err := expandGkeonpremVmwareAdminClusterEffectiveAnnotations (d .Get ("effective_annotations" ), d , config )
965991 if err != nil {
966992 return err
@@ -1140,6 +1166,9 @@ func resourceGkeonpremVmwareAdminClusterRead(d *schema.ResourceData, meta interf
11401166 if err := d .Set ("enable_advanced_cluster" , flattenGkeonpremVmwareAdminClusterEnableAdvancedCluster (res ["enableAdvancedCluster" ], d , config )); err != nil {
11411167 return fmt .Errorf ("Error reading VmwareAdminCluster: %s" , err )
11421168 }
1169+ if err := d .Set ("private_registry_config" , flattenGkeonpremVmwareAdminClusterPrivateRegistryConfig (res ["privateRegistryConfig" ], d , config )); err != nil {
1170+ return fmt .Errorf ("Error reading VmwareAdminCluster: %s" , err )
1171+ }
11431172 if err := d .Set ("effective_annotations" , flattenGkeonpremVmwareAdminClusterEffectiveAnnotations (res ["annotations" ], d , config )); err != nil {
11441173 return fmt .Errorf ("Error reading VmwareAdminCluster: %s" , err )
11451174 }
@@ -1241,6 +1270,12 @@ func resourceGkeonpremVmwareAdminClusterUpdate(d *schema.ResourceData, meta inte
12411270 } else if v , ok := d .GetOkExists ("platform_config" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , platformConfigProp )) {
12421271 obj ["platformConfig" ] = platformConfigProp
12431272 }
1273+ privateRegistryConfigProp , err := expandGkeonpremVmwareAdminClusterPrivateRegistryConfig (d .Get ("private_registry_config" ), d , config )
1274+ if err != nil {
1275+ return err
1276+ } else if v , ok := d .GetOkExists ("private_registry_config" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , privateRegistryConfigProp )) {
1277+ obj ["privateRegistryConfig" ] = privateRegistryConfigProp
1278+ }
12441279 annotationsProp , err := expandGkeonpremVmwareAdminClusterEffectiveAnnotations (d .Get ("effective_annotations" ), d , config )
12451280 if err != nil {
12461281 return err
@@ -1309,6 +1344,10 @@ func resourceGkeonpremVmwareAdminClusterUpdate(d *schema.ResourceData, meta inte
13091344 updateMask = append (updateMask , "platformConfig" )
13101345 }
13111346
1347+ if d .HasChange ("private_registry_config" ) {
1348+ updateMask = append (updateMask , "privateRegistryConfig" )
1349+ }
1350+
13121351 if d .HasChange ("effective_annotations" ) {
13131352 updateMask = append (updateMask , "annotations" )
13141353 }
@@ -2343,6 +2382,29 @@ func flattenGkeonpremVmwareAdminClusterEnableAdvancedCluster(v interface{}, d *s
23432382 return v
23442383}
23452384
2385+ func flattenGkeonpremVmwareAdminClusterPrivateRegistryConfig (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
2386+ if v == nil {
2387+ return nil
2388+ }
2389+ original := v .(map [string ]interface {})
2390+ if len (original ) == 0 {
2391+ return nil
2392+ }
2393+ transformed := make (map [string ]interface {})
2394+ transformed ["address" ] =
2395+ flattenGkeonpremVmwareAdminClusterPrivateRegistryConfigAddress (original ["address" ], d , config )
2396+ transformed ["ca_cert" ] =
2397+ flattenGkeonpremVmwareAdminClusterPrivateRegistryConfigCaCert (original ["caCert" ], d , config )
2398+ return []interface {}{transformed }
2399+ }
2400+ func flattenGkeonpremVmwareAdminClusterPrivateRegistryConfigAddress (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
2401+ return v
2402+ }
2403+
2404+ func flattenGkeonpremVmwareAdminClusterPrivateRegistryConfigCaCert (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
2405+ return v
2406+ }
2407+
23462408func flattenGkeonpremVmwareAdminClusterEffectiveAnnotations (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
23472409 return v
23482410}
@@ -3480,6 +3542,40 @@ func expandGkeonpremVmwareAdminClusterPlatformConfigStatusConditionsState(v inte
34803542 return v , nil
34813543}
34823544
3545+ func expandGkeonpremVmwareAdminClusterPrivateRegistryConfig (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
3546+ l := v .([]interface {})
3547+ if len (l ) == 0 || l [0 ] == nil {
3548+ return nil , nil
3549+ }
3550+ raw := l [0 ]
3551+ original := raw .(map [string ]interface {})
3552+ transformed := make (map [string ]interface {})
3553+
3554+ transformedAddress , err := expandGkeonpremVmwareAdminClusterPrivateRegistryConfigAddress (original ["address" ], d , config )
3555+ if err != nil {
3556+ return nil , err
3557+ } else if val := reflect .ValueOf (transformedAddress ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
3558+ transformed ["address" ] = transformedAddress
3559+ }
3560+
3561+ transformedCaCert , err := expandGkeonpremVmwareAdminClusterPrivateRegistryConfigCaCert (original ["ca_cert" ], d , config )
3562+ if err != nil {
3563+ return nil , err
3564+ } else if val := reflect .ValueOf (transformedCaCert ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
3565+ transformed ["caCert" ] = transformedCaCert
3566+ }
3567+
3568+ return transformed , nil
3569+ }
3570+
3571+ func expandGkeonpremVmwareAdminClusterPrivateRegistryConfigAddress (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
3572+ return v , nil
3573+ }
3574+
3575+ func expandGkeonpremVmwareAdminClusterPrivateRegistryConfigCaCert (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
3576+ return v , nil
3577+ }
3578+
34833579func expandGkeonpremVmwareAdminClusterEffectiveAnnotations (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (map [string ]string , error ) {
34843580 if v == nil {
34853581 return map [string ]string {}, nil
0 commit comments