Skip to content

Commit 534a09d

Browse files
author
AWS
committed
Amazon EC2 Container Registry Update: This release adds additional support for repository replication
1 parent 49ce75a commit 534a09d

File tree

2 files changed

+146
-11
lines changed

2 files changed

+146
-11
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon EC2 Container Registry",
4+
"contributor": "",
5+
"description": "This release adds additional support for repository replication"
6+
}

services/ecr/src/main/resources/codegen-resources/service-2.json

Lines changed: 140 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@
126126
"errors":[
127127
{"shape":"ServerException"},
128128
{"shape":"InvalidParameterException"},
129-
{"shape":"RegistryPolicyNotFoundException"}
129+
{"shape":"RegistryPolicyNotFoundException"},
130+
{"shape":"ValidationException"}
130131
],
131132
"documentation":"<p>Deletes the registry permissions policy.</p>"
132133
},
@@ -163,6 +164,23 @@
163164
],
164165
"documentation":"<p>Deletes the repository policy associated with the specified repository.</p>"
165166
},
167+
"DescribeImageReplicationStatus":{
168+
"name":"DescribeImageReplicationStatus",
169+
"http":{
170+
"method":"POST",
171+
"requestUri":"/"
172+
},
173+
"input":{"shape":"DescribeImageReplicationStatusRequest"},
174+
"output":{"shape":"DescribeImageReplicationStatusResponse"},
175+
"errors":[
176+
{"shape":"ServerException"},
177+
{"shape":"InvalidParameterException"},
178+
{"shape":"ImageNotFoundException"},
179+
{"shape":"RepositoryNotFoundException"},
180+
{"shape":"ValidationException"}
181+
],
182+
"documentation":"<p>Returns the replication status for a specified image.</p>"
183+
},
166184
"DescribeImageScanFindings":{
167185
"name":"DescribeImageScanFindings",
168186
"http":{
@@ -300,7 +318,8 @@
300318
"errors":[
301319
{"shape":"ServerException"},
302320
{"shape":"InvalidParameterException"},
303-
{"shape":"RegistryPolicyNotFoundException"}
321+
{"shape":"RegistryPolicyNotFoundException"},
322+
{"shape":"ValidationException"}
304323
],
305324
"documentation":"<p>Retrieves the permissions policy for a registry.</p>"
306325
},
@@ -443,7 +462,8 @@
443462
"output":{"shape":"PutRegistryPolicyResponse"},
444463
"errors":[
445464
{"shape":"ServerException"},
446-
{"shape":"InvalidParameterException"}
465+
{"shape":"InvalidParameterException"},
466+
{"shape":"ValidationException"}
447467
],
448468
"documentation":"<p>Creates or updates the permissions policy for your registry.</p> <p>A registry policy is used to specify permissions for another Amazon Web Services account and is used when configuring cross-account replication. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html\">Registry permissions</a> in the <i>Amazon Elastic Container Registry User Guide</i>.</p>"
449469
},
@@ -794,6 +814,10 @@
794814
"type":"structure",
795815
"required":["repositoryName"],
796816
"members":{
817+
"registryId":{
818+
"shape":"RegistryId",
819+
"documentation":"<p>The AWS account ID associated with the registry to create the repository. If you do not specify a registry, the default registry is assumed.</p>"
820+
},
797821
"repositoryName":{
798822
"shape":"RepositoryName",
799823
"documentation":"<p>The name to use for the repository. The repository name may be specified on its own (such as <code>nginx-web-app</code>) or it can be prepended with a namespace to group the repository into a category (such as <code>project-a/nginx-web-app</code>).</p>"
@@ -937,6 +961,38 @@
937961
}
938962
}
939963
},
964+
"DescribeImageReplicationStatusRequest":{
965+
"type":"structure",
966+
"required":[
967+
"repositoryName",
968+
"imageId"
969+
],
970+
"members":{
971+
"repositoryName":{
972+
"shape":"RepositoryName",
973+
"documentation":"<p>The name of the repository that the image is in.</p>"
974+
},
975+
"imageId":{"shape":"ImageIdentifier"},
976+
"registryId":{
977+
"shape":"RegistryId",
978+
"documentation":"<p>The Amazon Web Services account ID associated with the registry. If you do not specify a registry, the default registry is assumed.</p>"
979+
}
980+
}
981+
},
982+
"DescribeImageReplicationStatusResponse":{
983+
"type":"structure",
984+
"members":{
985+
"repositoryName":{
986+
"shape":"RepositoryName",
987+
"documentation":"<p>The repository name associated with the request.</p>"
988+
},
989+
"imageId":{"shape":"ImageIdentifier"},
990+
"replicationStatuses":{
991+
"shape":"ImageReplicationStatusList",
992+
"documentation":"<p>The replication status details for the images in the specified repository.</p>"
993+
}
994+
}
995+
},
940996
"DescribeImageScanFindingsRequest":{
941997
"type":"structure",
942998
"required":[
@@ -1507,7 +1563,7 @@
15071563
"documentation":"<p>The tag used for the image.</p>"
15081564
}
15091565
},
1510-
"documentation":"<p>An object with identifying information for an Amazon ECR image.</p>"
1566+
"documentation":"<p>An object with identifying information for an image in an Amazon ECR repository.</p>"
15111567
},
15121568
"ImageIdentifierList":{
15131569
"type":"list",
@@ -1532,6 +1588,32 @@
15321588
"documentation":"<p>The image requested does not exist in the specified repository.</p>",
15331589
"exception":true
15341590
},
1591+
"ImageReplicationStatus":{
1592+
"type":"structure",
1593+
"members":{
1594+
"region":{
1595+
"shape":"Region",
1596+
"documentation":"<p>The destination Region for the image replication.</p>"
1597+
},
1598+
"registryId":{
1599+
"shape":"RegistryId",
1600+
"documentation":"<p>The AWS account ID associated with the registry to which the image belongs.</p>"
1601+
},
1602+
"status":{
1603+
"shape":"ReplicationStatus",
1604+
"documentation":"<p>The image replication status.</p>"
1605+
},
1606+
"failureCode":{
1607+
"shape":"ReplicationError",
1608+
"documentation":"<p>The failure code for a replication that has failed.</p>"
1609+
}
1610+
},
1611+
"documentation":"<p>The status of the replication process for an image.</p>"
1612+
},
1613+
"ImageReplicationStatusList":{
1614+
"type":"list",
1615+
"member":{"shape":"ImageReplicationStatus"}
1616+
},
15351617
"ImageScanFinding":{
15361618
"type":"structure",
15371619
"members":{
@@ -2316,7 +2398,7 @@
23162398
"members":{
23172399
"rules":{
23182400
"shape":"ReplicationRuleList",
2319-
"documentation":"<p>An array of objects representing the replication rules for a replication configuration. A replication configuration may contain only one replication rule but the rule may contain one or more replication destinations.</p>"
2401+
"documentation":"<p>An array of objects representing the replication destinations and repository filters for a replication configuration.</p>"
23202402
}
23212403
},
23222404
"documentation":"<p>The replication configuration for a registry.</p>"
@@ -2330,38 +2412,51 @@
23302412
"members":{
23312413
"region":{
23322414
"shape":"Region",
2333-
"documentation":"<p>A Region to replicate to.</p>"
2415+
"documentation":"<p>The Region to replicate to.</p>"
23342416
},
23352417
"registryId":{
23362418
"shape":"RegistryId",
2337-
"documentation":"<p>The account ID of the destination registry to replicate to.</p>"
2419+
"documentation":"<p>The Amazon Web Services account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.</p>"
23382420
}
23392421
},
2340-
"documentation":"<p>An array of objects representing the details of a replication destination.</p>"
2422+
"documentation":"<p>An array of objects representing the destination for a replication rule.</p>"
23412423
},
23422424
"ReplicationDestinationList":{
23432425
"type":"list",
23442426
"member":{"shape":"ReplicationDestination"},
23452427
"max":25,
23462428
"min":0
23472429
},
2430+
"ReplicationError":{"type":"string"},
23482431
"ReplicationRule":{
23492432
"type":"structure",
23502433
"required":["destinations"],
23512434
"members":{
23522435
"destinations":{
23532436
"shape":"ReplicationDestinationList",
2354-
"documentation":"<p>An array of objects representing the details of a replication destination.</p>"
2437+
"documentation":"<p>An array of objects representing the destination for a replication rule.</p>"
2438+
},
2439+
"repositoryFilters":{
2440+
"shape":"RepositoryFilterList",
2441+
"documentation":"<p>An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.</p>"
23552442
}
23562443
},
2357-
"documentation":"<p>An array of objects representing the replication destinations for a replication configuration. A replication configuration may contain only one replication rule but the rule may contain one or more replication destinations.</p>"
2444+
"documentation":"<p>An array of objects representing the replication destinations and repository filters for a replication configuration.</p>"
23582445
},
23592446
"ReplicationRuleList":{
23602447
"type":"list",
23612448
"member":{"shape":"ReplicationRule"},
2362-
"max":1,
2449+
"max":10,
23632450
"min":0
23642451
},
2452+
"ReplicationStatus":{
2453+
"type":"string",
2454+
"enum":[
2455+
"IN_PROGRESS",
2456+
"COMPLETE",
2457+
"FAILED"
2458+
]
2459+
},
23652460
"Repository":{
23662461
"type":"structure",
23672462
"members":{
@@ -2408,6 +2503,40 @@
24082503
"documentation":"<p>The specified repository already exists in the specified registry.</p>",
24092504
"exception":true
24102505
},
2506+
"RepositoryFilter":{
2507+
"type":"structure",
2508+
"required":[
2509+
"filter",
2510+
"filterType"
2511+
],
2512+
"members":{
2513+
"filter":{
2514+
"shape":"RepositoryFilterValue",
2515+
"documentation":"<p>The repository filter details. When the <code>PREFIX_MATCH</code> filter type is specified, this value is required and should be the repository name prefix to configure replication for.</p>"
2516+
},
2517+
"filterType":{
2518+
"shape":"RepositoryFilterType",
2519+
"documentation":"<p>The repository filter type. The only supported value is <code>PREFIX_MATCH</code>, which is a repository name prefix specified with the <code>filter</code> parameter.</p>"
2520+
}
2521+
},
2522+
"documentation":"<p>The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no repository filter is specified, all images in the repository are replicated.</p>"
2523+
},
2524+
"RepositoryFilterList":{
2525+
"type":"list",
2526+
"member":{"shape":"RepositoryFilter"},
2527+
"max":100,
2528+
"min":1
2529+
},
2530+
"RepositoryFilterType":{
2531+
"type":"string",
2532+
"enum":["PREFIX_MATCH"]
2533+
},
2534+
"RepositoryFilterValue":{
2535+
"type":"string",
2536+
"max":256,
2537+
"min":2,
2538+
"pattern":"^(?:[a-z0-9]+(?:[._-][a-z0-9]*)*/)*[a-z0-9]*(?:[._-][a-z0-9]*)*$"
2539+
},
24112540
"RepositoryList":{
24122541
"type":"list",
24132542
"member":{"shape":"Repository"}

0 commit comments

Comments
 (0)