@@ -155,6 +155,42 @@ snapshot versions.`,
155
155
MaxItems : 1 ,
156
156
Elem : & schema.Resource {
157
157
Schema : map [string ]* schema.Schema {
158
+ "apt_repository" : {
159
+ Type : schema .TypeList ,
160
+ Optional : true ,
161
+ ForceNew : true ,
162
+ Description : `Specific settings for an Apt remote repository.` ,
163
+ MaxItems : 1 ,
164
+ Elem : & schema.Resource {
165
+ Schema : map [string ]* schema.Schema {
166
+ "public_repository" : {
167
+ Type : schema .TypeList ,
168
+ Optional : true ,
169
+ ForceNew : true ,
170
+ Description : `One of the publicly available Apt repositories supported by Artifact Registry.` ,
171
+ MaxItems : 1 ,
172
+ Elem : & schema.Resource {
173
+ Schema : map [string ]* schema.Schema {
174
+ "repository_base" : {
175
+ Type : schema .TypeString ,
176
+ Required : true ,
177
+ ForceNew : true ,
178
+ ValidateFunc : verify .ValidateEnum ([]string {"DEBIAN" , "UBUNTU" }),
179
+ Description : `A common public repository base for Apt, e.g. '"debian/dists/buster"' Possible values: ["DEBIAN", "UBUNTU"]` ,
180
+ },
181
+ "repository_path" : {
182
+ Type : schema .TypeString ,
183
+ Required : true ,
184
+ ForceNew : true ,
185
+ Description : `Specific repository from the base.` ,
186
+ },
187
+ },
188
+ },
189
+ },
190
+ },
191
+ },
192
+ ExactlyOneOf : []string {"remote_repository_config.0.apt_repository" , "remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" , "remote_repository_config.0.yum_repository" },
193
+ },
158
194
"description" : {
159
195
Type : schema .TypeString ,
160
196
Optional : true ,
@@ -180,7 +216,7 @@ snapshot versions.`,
180
216
},
181
217
},
182
218
},
183
- ExactlyOneOf : []string {"remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" },
219
+ ExactlyOneOf : []string {"remote_repository_config.0.apt_repository" , "remote_repository_config.0. docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" , "remote_repository_config.0.yum_repository " },
184
220
},
185
221
"maven_repository" : {
186
222
Type : schema .TypeList ,
@@ -201,7 +237,7 @@ snapshot versions.`,
201
237
},
202
238
},
203
239
},
204
- ExactlyOneOf : []string {"remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" },
240
+ ExactlyOneOf : []string {"remote_repository_config.0.apt_repository" , "remote_repository_config.0. docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" , "remote_repository_config.0.yum_repository " },
205
241
},
206
242
"npm_repository" : {
207
243
Type : schema .TypeList ,
@@ -222,7 +258,7 @@ snapshot versions.`,
222
258
},
223
259
},
224
260
},
225
- ExactlyOneOf : []string {"remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" },
261
+ ExactlyOneOf : []string {"remote_repository_config.0.apt_repository" , "remote_repository_config.0. docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" , "remote_repository_config.0.yum_repository " },
226
262
},
227
263
"python_repository" : {
228
264
Type : schema .TypeList ,
@@ -243,7 +279,43 @@ snapshot versions.`,
243
279
},
244
280
},
245
281
},
246
- ExactlyOneOf : []string {"remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" },
282
+ ExactlyOneOf : []string {"remote_repository_config.0.apt_repository" , "remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" , "remote_repository_config.0.yum_repository" },
283
+ },
284
+ "yum_repository" : {
285
+ Type : schema .TypeList ,
286
+ Optional : true ,
287
+ ForceNew : true ,
288
+ Description : `Specific settings for an Yum remote repository.` ,
289
+ MaxItems : 1 ,
290
+ Elem : & schema.Resource {
291
+ Schema : map [string ]* schema.Schema {
292
+ "public_repository" : {
293
+ Type : schema .TypeList ,
294
+ Optional : true ,
295
+ ForceNew : true ,
296
+ Description : `One of the publicly available Yum repositories supported by Artifact Registry.` ,
297
+ MaxItems : 1 ,
298
+ Elem : & schema.Resource {
299
+ Schema : map [string ]* schema.Schema {
300
+ "repository_base" : {
301
+ Type : schema .TypeString ,
302
+ Required : true ,
303
+ ForceNew : true ,
304
+ ValidateFunc : verify .ValidateEnum ([]string {"CENTOS" , "CENTOS_DEBUG" , "CENTOS_VAULT" , "CENTOS_STREAM" , "ROCKY" , "EPEL" }),
305
+ Description : `A common public repository base for Yum. Possible values: ["CENTOS", "CENTOS_DEBUG", "CENTOS_VAULT", "CENTOS_STREAM", "ROCKY", "EPEL"]` ,
306
+ },
307
+ "repository_path" : {
308
+ Type : schema .TypeString ,
309
+ Required : true ,
310
+ ForceNew : true ,
311
+ Description : `Specific repository from the base, e.g. '"8-stream/BaseOs/x86_64/os"'` ,
312
+ },
313
+ },
314
+ },
315
+ },
316
+ },
317
+ },
318
+ ExactlyOneOf : []string {"remote_repository_config.0.apt_repository" , "remote_repository_config.0.docker_repository" , "remote_repository_config.0.maven_repository" , "remote_repository_config.0.npm_repository" , "remote_repository_config.0.python_repository" , "remote_repository_config.0.yum_repository" },
247
319
},
248
320
},
249
321
},
@@ -858,6 +930,8 @@ func flattenArtifactRegistryRepositoryRemoteRepositoryConfig(v interface{}, d *s
858
930
transformed := make (map [string ]interface {})
859
931
transformed ["description" ] =
860
932
flattenArtifactRegistryRepositoryRemoteRepositoryConfigDescription (original ["description" ], d , config )
933
+ transformed ["apt_repository" ] =
934
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepository (original ["aptRepository" ], d , config )
861
935
transformed ["docker_repository" ] =
862
936
flattenArtifactRegistryRepositoryRemoteRepositoryConfigDockerRepository (original ["dockerRepository" ], d , config )
863
937
transformed ["maven_repository" ] =
@@ -866,12 +940,50 @@ func flattenArtifactRegistryRepositoryRemoteRepositoryConfig(v interface{}, d *s
866
940
flattenArtifactRegistryRepositoryRemoteRepositoryConfigNpmRepository (original ["npmRepository" ], d , config )
867
941
transformed ["python_repository" ] =
868
942
flattenArtifactRegistryRepositoryRemoteRepositoryConfigPythonRepository (original ["pythonRepository" ], d , config )
943
+ transformed ["yum_repository" ] =
944
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepository (original ["yumRepository" ], d , config )
869
945
return []interface {}{transformed }
870
946
}
871
947
func flattenArtifactRegistryRepositoryRemoteRepositoryConfigDescription (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
872
948
return v
873
949
}
874
950
951
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepository (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
952
+ if v == nil {
953
+ return nil
954
+ }
955
+ original := v .(map [string ]interface {})
956
+ if len (original ) == 0 {
957
+ return nil
958
+ }
959
+ transformed := make (map [string ]interface {})
960
+ transformed ["public_repository" ] =
961
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepository (original ["publicRepository" ], d , config )
962
+ return []interface {}{transformed }
963
+ }
964
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepository (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
965
+ if v == nil {
966
+ return nil
967
+ }
968
+ original := v .(map [string ]interface {})
969
+ if len (original ) == 0 {
970
+ return nil
971
+ }
972
+ transformed := make (map [string ]interface {})
973
+ transformed ["repository_base" ] =
974
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase (original ["repositoryBase" ], d , config )
975
+ transformed ["repository_path" ] =
976
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryPath (original ["repositoryPath" ], d , config )
977
+ return []interface {}{transformed }
978
+ }
979
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
980
+ return v
981
+ }
982
+
983
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryPath (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
984
+ return v
985
+ }
986
+
875
987
func flattenArtifactRegistryRepositoryRemoteRepositoryConfigDockerRepository (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
876
988
if v == nil {
877
989
return nil
@@ -940,6 +1052,42 @@ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigPythonRepositoryPubl
940
1052
return v
941
1053
}
942
1054
1055
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepository (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1056
+ if v == nil {
1057
+ return nil
1058
+ }
1059
+ original := v .(map [string ]interface {})
1060
+ if len (original ) == 0 {
1061
+ return nil
1062
+ }
1063
+ transformed := make (map [string ]interface {})
1064
+ transformed ["public_repository" ] =
1065
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepository (original ["publicRepository" ], d , config )
1066
+ return []interface {}{transformed }
1067
+ }
1068
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepository (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1069
+ if v == nil {
1070
+ return nil
1071
+ }
1072
+ original := v .(map [string ]interface {})
1073
+ if len (original ) == 0 {
1074
+ return nil
1075
+ }
1076
+ transformed := make (map [string ]interface {})
1077
+ transformed ["repository_base" ] =
1078
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase (original ["repositoryBase" ], d , config )
1079
+ transformed ["repository_path" ] =
1080
+ flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryPath (original ["repositoryPath" ], d , config )
1081
+ return []interface {}{transformed }
1082
+ }
1083
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1084
+ return v
1085
+ }
1086
+
1087
+ func flattenArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryPath (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1088
+ return v
1089
+ }
1090
+
943
1091
func expandArtifactRegistryRepositoryFormat (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
944
1092
return v , nil
945
1093
}
@@ -1112,6 +1260,13 @@ func expandArtifactRegistryRepositoryRemoteRepositoryConfig(v interface{}, d tpg
1112
1260
transformed ["description" ] = transformedDescription
1113
1261
}
1114
1262
1263
+ transformedAptRepository , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepository (original ["apt_repository" ], d , config )
1264
+ if err != nil {
1265
+ return nil , err
1266
+ } else if val := reflect .ValueOf (transformedAptRepository ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1267
+ transformed ["aptRepository" ] = transformedAptRepository
1268
+ }
1269
+
1115
1270
transformedDockerRepository , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigDockerRepository (original ["docker_repository" ], d , config )
1116
1271
if err != nil {
1117
1272
return nil , err
@@ -1140,13 +1295,73 @@ func expandArtifactRegistryRepositoryRemoteRepositoryConfig(v interface{}, d tpg
1140
1295
transformed ["pythonRepository" ] = transformedPythonRepository
1141
1296
}
1142
1297
1298
+ transformedYumRepository , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepository (original ["yum_repository" ], d , config )
1299
+ if err != nil {
1300
+ return nil , err
1301
+ } else if val := reflect .ValueOf (transformedYumRepository ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1302
+ transformed ["yumRepository" ] = transformedYumRepository
1303
+ }
1304
+
1143
1305
return transformed , nil
1144
1306
}
1145
1307
1146
1308
func expandArtifactRegistryRepositoryRemoteRepositoryConfigDescription (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1147
1309
return v , nil
1148
1310
}
1149
1311
1312
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepository (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1313
+ l := v .([]interface {})
1314
+ if len (l ) == 0 || l [0 ] == nil {
1315
+ return nil , nil
1316
+ }
1317
+ raw := l [0 ]
1318
+ original := raw .(map [string ]interface {})
1319
+ transformed := make (map [string ]interface {})
1320
+
1321
+ transformedPublicRepository , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepository (original ["public_repository" ], d , config )
1322
+ if err != nil {
1323
+ return nil , err
1324
+ } else if val := reflect .ValueOf (transformedPublicRepository ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1325
+ transformed ["publicRepository" ] = transformedPublicRepository
1326
+ }
1327
+
1328
+ return transformed , nil
1329
+ }
1330
+
1331
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepository (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1332
+ l := v .([]interface {})
1333
+ if len (l ) == 0 || l [0 ] == nil {
1334
+ return nil , nil
1335
+ }
1336
+ raw := l [0 ]
1337
+ original := raw .(map [string ]interface {})
1338
+ transformed := make (map [string ]interface {})
1339
+
1340
+ transformedRepositoryBase , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase (original ["repository_base" ], d , config )
1341
+ if err != nil {
1342
+ return nil , err
1343
+ } else if val := reflect .ValueOf (transformedRepositoryBase ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1344
+ transformed ["repositoryBase" ] = transformedRepositoryBase
1345
+ }
1346
+
1347
+ transformedRepositoryPath , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryPath (original ["repository_path" ], d , config )
1348
+ if err != nil {
1349
+ return nil , err
1350
+ } else if val := reflect .ValueOf (transformedRepositoryPath ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1351
+ transformed ["repositoryPath" ] = transformedRepositoryPath
1352
+ }
1353
+
1354
+ return transformed , nil
1355
+ }
1356
+
1357
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1358
+ return v , nil
1359
+ }
1360
+
1361
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryPath (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1362
+ return v , nil
1363
+ }
1364
+
1150
1365
func expandArtifactRegistryRepositoryRemoteRepositoryConfigDockerRepository (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1151
1366
l := v .([]interface {})
1152
1367
if len (l ) == 0 || l [0 ] == nil {
@@ -1239,6 +1454,59 @@ func expandArtifactRegistryRepositoryRemoteRepositoryConfigPythonRepositoryPubli
1239
1454
return v , nil
1240
1455
}
1241
1456
1457
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepository (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1458
+ l := v .([]interface {})
1459
+ if len (l ) == 0 || l [0 ] == nil {
1460
+ return nil , nil
1461
+ }
1462
+ raw := l [0 ]
1463
+ original := raw .(map [string ]interface {})
1464
+ transformed := make (map [string ]interface {})
1465
+
1466
+ transformedPublicRepository , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepository (original ["public_repository" ], d , config )
1467
+ if err != nil {
1468
+ return nil , err
1469
+ } else if val := reflect .ValueOf (transformedPublicRepository ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1470
+ transformed ["publicRepository" ] = transformedPublicRepository
1471
+ }
1472
+
1473
+ return transformed , nil
1474
+ }
1475
+
1476
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepository (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1477
+ l := v .([]interface {})
1478
+ if len (l ) == 0 || l [0 ] == nil {
1479
+ return nil , nil
1480
+ }
1481
+ raw := l [0 ]
1482
+ original := raw .(map [string ]interface {})
1483
+ transformed := make (map [string ]interface {})
1484
+
1485
+ transformedRepositoryBase , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase (original ["repository_base" ], d , config )
1486
+ if err != nil {
1487
+ return nil , err
1488
+ } else if val := reflect .ValueOf (transformedRepositoryBase ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1489
+ transformed ["repositoryBase" ] = transformedRepositoryBase
1490
+ }
1491
+
1492
+ transformedRepositoryPath , err := expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryPath (original ["repository_path" ], d , config )
1493
+ if err != nil {
1494
+ return nil , err
1495
+ } else if val := reflect .ValueOf (transformedRepositoryPath ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1496
+ transformed ["repositoryPath" ] = transformedRepositoryPath
1497
+ }
1498
+
1499
+ return transformed , nil
1500
+ }
1501
+
1502
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1503
+ return v , nil
1504
+ }
1505
+
1506
+ func expandArtifactRegistryRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryPath (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1507
+ return v , nil
1508
+ }
1509
+
1242
1510
func resourceArtifactRegistryRepositoryEncoder (d * schema.ResourceData , meta interface {}, obj map [string ]interface {}) (map [string ]interface {}, error ) {
1243
1511
config := meta .(* transport_tpg.Config )
1244
1512
if _ , ok := d .GetOk ("location" ); ! ok {
0 commit comments