github.com/aavshr/aws-sdk-go@v1.41.3/models/apis/ecr/2015-09-21/api-2.json (about)

     1  {
     2    "version":"2.0",
     3    "metadata":{
     4      "apiVersion":"2015-09-21",
     5      "endpointPrefix":"api.ecr",
     6      "jsonVersion":"1.1",
     7      "protocol":"json",
     8      "serviceAbbreviation":"Amazon ECR",
     9      "serviceFullName":"Amazon EC2 Container Registry",
    10      "serviceId":"ECR",
    11      "signatureVersion":"v4",
    12      "signingName":"ecr",
    13      "targetPrefix":"AmazonEC2ContainerRegistry_V20150921",
    14      "uid":"ecr-2015-09-21"
    15    },
    16    "operations":{
    17      "BatchCheckLayerAvailability":{
    18        "name":"BatchCheckLayerAvailability",
    19        "http":{
    20          "method":"POST",
    21          "requestUri":"/"
    22        },
    23        "input":{"shape":"BatchCheckLayerAvailabilityRequest"},
    24        "output":{"shape":"BatchCheckLayerAvailabilityResponse"},
    25        "errors":[
    26          {"shape":"RepositoryNotFoundException"},
    27          {"shape":"InvalidParameterException"},
    28          {"shape":"ServerException"}
    29        ]
    30      },
    31      "BatchDeleteImage":{
    32        "name":"BatchDeleteImage",
    33        "http":{
    34          "method":"POST",
    35          "requestUri":"/"
    36        },
    37        "input":{"shape":"BatchDeleteImageRequest"},
    38        "output":{"shape":"BatchDeleteImageResponse"},
    39        "errors":[
    40          {"shape":"ServerException"},
    41          {"shape":"InvalidParameterException"},
    42          {"shape":"RepositoryNotFoundException"}
    43        ]
    44      },
    45      "BatchGetImage":{
    46        "name":"BatchGetImage",
    47        "http":{
    48          "method":"POST",
    49          "requestUri":"/"
    50        },
    51        "input":{"shape":"BatchGetImageRequest"},
    52        "output":{"shape":"BatchGetImageResponse"},
    53        "errors":[
    54          {"shape":"ServerException"},
    55          {"shape":"InvalidParameterException"},
    56          {"shape":"RepositoryNotFoundException"}
    57        ]
    58      },
    59      "CompleteLayerUpload":{
    60        "name":"CompleteLayerUpload",
    61        "http":{
    62          "method":"POST",
    63          "requestUri":"/"
    64        },
    65        "input":{"shape":"CompleteLayerUploadRequest"},
    66        "output":{"shape":"CompleteLayerUploadResponse"},
    67        "errors":[
    68          {"shape":"ServerException"},
    69          {"shape":"InvalidParameterException"},
    70          {"shape":"RepositoryNotFoundException"},
    71          {"shape":"UploadNotFoundException"},
    72          {"shape":"InvalidLayerException"},
    73          {"shape":"LayerPartTooSmallException"},
    74          {"shape":"LayerAlreadyExistsException"},
    75          {"shape":"EmptyUploadException"},
    76          {"shape":"KmsException"}
    77        ]
    78      },
    79      "CreateRepository":{
    80        "name":"CreateRepository",
    81        "http":{
    82          "method":"POST",
    83          "requestUri":"/"
    84        },
    85        "input":{"shape":"CreateRepositoryRequest"},
    86        "output":{"shape":"CreateRepositoryResponse"},
    87        "errors":[
    88          {"shape":"ServerException"},
    89          {"shape":"InvalidParameterException"},
    90          {"shape":"InvalidTagParameterException"},
    91          {"shape":"TooManyTagsException"},
    92          {"shape":"RepositoryAlreadyExistsException"},
    93          {"shape":"LimitExceededException"},
    94          {"shape":"KmsException"}
    95        ]
    96      },
    97      "DeleteLifecyclePolicy":{
    98        "name":"DeleteLifecyclePolicy",
    99        "http":{
   100          "method":"POST",
   101          "requestUri":"/"
   102        },
   103        "input":{"shape":"DeleteLifecyclePolicyRequest"},
   104        "output":{"shape":"DeleteLifecyclePolicyResponse"},
   105        "errors":[
   106          {"shape":"ServerException"},
   107          {"shape":"InvalidParameterException"},
   108          {"shape":"RepositoryNotFoundException"},
   109          {"shape":"LifecyclePolicyNotFoundException"}
   110        ]
   111      },
   112      "DeleteRegistryPolicy":{
   113        "name":"DeleteRegistryPolicy",
   114        "http":{
   115          "method":"POST",
   116          "requestUri":"/"
   117        },
   118        "input":{"shape":"DeleteRegistryPolicyRequest"},
   119        "output":{"shape":"DeleteRegistryPolicyResponse"},
   120        "errors":[
   121          {"shape":"ServerException"},
   122          {"shape":"InvalidParameterException"},
   123          {"shape":"RegistryPolicyNotFoundException"},
   124          {"shape":"ValidationException"}
   125        ]
   126      },
   127      "DeleteRepository":{
   128        "name":"DeleteRepository",
   129        "http":{
   130          "method":"POST",
   131          "requestUri":"/"
   132        },
   133        "input":{"shape":"DeleteRepositoryRequest"},
   134        "output":{"shape":"DeleteRepositoryResponse"},
   135        "errors":[
   136          {"shape":"ServerException"},
   137          {"shape":"InvalidParameterException"},
   138          {"shape":"RepositoryNotFoundException"},
   139          {"shape":"RepositoryNotEmptyException"},
   140          {"shape":"KmsException"}
   141        ]
   142      },
   143      "DeleteRepositoryPolicy":{
   144        "name":"DeleteRepositoryPolicy",
   145        "http":{
   146          "method":"POST",
   147          "requestUri":"/"
   148        },
   149        "input":{"shape":"DeleteRepositoryPolicyRequest"},
   150        "output":{"shape":"DeleteRepositoryPolicyResponse"},
   151        "errors":[
   152          {"shape":"ServerException"},
   153          {"shape":"InvalidParameterException"},
   154          {"shape":"RepositoryNotFoundException"},
   155          {"shape":"RepositoryPolicyNotFoundException"}
   156        ]
   157      },
   158      "DescribeImageReplicationStatus":{
   159        "name":"DescribeImageReplicationStatus",
   160        "http":{
   161          "method":"POST",
   162          "requestUri":"/"
   163        },
   164        "input":{"shape":"DescribeImageReplicationStatusRequest"},
   165        "output":{"shape":"DescribeImageReplicationStatusResponse"},
   166        "errors":[
   167          {"shape":"ServerException"},
   168          {"shape":"InvalidParameterException"},
   169          {"shape":"ImageNotFoundException"},
   170          {"shape":"RepositoryNotFoundException"},
   171          {"shape":"ValidationException"}
   172        ]
   173      },
   174      "DescribeImageScanFindings":{
   175        "name":"DescribeImageScanFindings",
   176        "http":{
   177          "method":"POST",
   178          "requestUri":"/"
   179        },
   180        "input":{"shape":"DescribeImageScanFindingsRequest"},
   181        "output":{"shape":"DescribeImageScanFindingsResponse"},
   182        "errors":[
   183          {"shape":"ServerException"},
   184          {"shape":"InvalidParameterException"},
   185          {"shape":"RepositoryNotFoundException"},
   186          {"shape":"ImageNotFoundException"},
   187          {"shape":"ScanNotFoundException"}
   188        ]
   189      },
   190      "DescribeImages":{
   191        "name":"DescribeImages",
   192        "http":{
   193          "method":"POST",
   194          "requestUri":"/"
   195        },
   196        "input":{"shape":"DescribeImagesRequest"},
   197        "output":{"shape":"DescribeImagesResponse"},
   198        "errors":[
   199          {"shape":"ServerException"},
   200          {"shape":"InvalidParameterException"},
   201          {"shape":"RepositoryNotFoundException"},
   202          {"shape":"ImageNotFoundException"}
   203        ]
   204      },
   205      "DescribeRegistry":{
   206        "name":"DescribeRegistry",
   207        "http":{
   208          "method":"POST",
   209          "requestUri":"/"
   210        },
   211        "input":{"shape":"DescribeRegistryRequest"},
   212        "output":{"shape":"DescribeRegistryResponse"},
   213        "errors":[
   214          {"shape":"ServerException"},
   215          {"shape":"InvalidParameterException"},
   216          {"shape":"ValidationException"}
   217        ]
   218      },
   219      "DescribeRepositories":{
   220        "name":"DescribeRepositories",
   221        "http":{
   222          "method":"POST",
   223          "requestUri":"/"
   224        },
   225        "input":{"shape":"DescribeRepositoriesRequest"},
   226        "output":{"shape":"DescribeRepositoriesResponse"},
   227        "errors":[
   228          {"shape":"ServerException"},
   229          {"shape":"InvalidParameterException"},
   230          {"shape":"RepositoryNotFoundException"}
   231        ]
   232      },
   233      "GetAuthorizationToken":{
   234        "name":"GetAuthorizationToken",
   235        "http":{
   236          "method":"POST",
   237          "requestUri":"/"
   238        },
   239        "input":{"shape":"GetAuthorizationTokenRequest"},
   240        "output":{"shape":"GetAuthorizationTokenResponse"},
   241        "errors":[
   242          {"shape":"ServerException"},
   243          {"shape":"InvalidParameterException"}
   244        ]
   245      },
   246      "GetDownloadUrlForLayer":{
   247        "name":"GetDownloadUrlForLayer",
   248        "http":{
   249          "method":"POST",
   250          "requestUri":"/"
   251        },
   252        "input":{"shape":"GetDownloadUrlForLayerRequest"},
   253        "output":{"shape":"GetDownloadUrlForLayerResponse"},
   254        "errors":[
   255          {"shape":"ServerException"},
   256          {"shape":"InvalidParameterException"},
   257          {"shape":"LayersNotFoundException"},
   258          {"shape":"LayerInaccessibleException"},
   259          {"shape":"RepositoryNotFoundException"}
   260        ]
   261      },
   262      "GetLifecyclePolicy":{
   263        "name":"GetLifecyclePolicy",
   264        "http":{
   265          "method":"POST",
   266          "requestUri":"/"
   267        },
   268        "input":{"shape":"GetLifecyclePolicyRequest"},
   269        "output":{"shape":"GetLifecyclePolicyResponse"},
   270        "errors":[
   271          {"shape":"ServerException"},
   272          {"shape":"InvalidParameterException"},
   273          {"shape":"RepositoryNotFoundException"},
   274          {"shape":"LifecyclePolicyNotFoundException"}
   275        ]
   276      },
   277      "GetLifecyclePolicyPreview":{
   278        "name":"GetLifecyclePolicyPreview",
   279        "http":{
   280          "method":"POST",
   281          "requestUri":"/"
   282        },
   283        "input":{"shape":"GetLifecyclePolicyPreviewRequest"},
   284        "output":{"shape":"GetLifecyclePolicyPreviewResponse"},
   285        "errors":[
   286          {"shape":"ServerException"},
   287          {"shape":"InvalidParameterException"},
   288          {"shape":"RepositoryNotFoundException"},
   289          {"shape":"LifecyclePolicyPreviewNotFoundException"}
   290        ]
   291      },
   292      "GetRegistryPolicy":{
   293        "name":"GetRegistryPolicy",
   294        "http":{
   295          "method":"POST",
   296          "requestUri":"/"
   297        },
   298        "input":{"shape":"GetRegistryPolicyRequest"},
   299        "output":{"shape":"GetRegistryPolicyResponse"},
   300        "errors":[
   301          {"shape":"ServerException"},
   302          {"shape":"InvalidParameterException"},
   303          {"shape":"RegistryPolicyNotFoundException"},
   304          {"shape":"ValidationException"}
   305        ]
   306      },
   307      "GetRepositoryPolicy":{
   308        "name":"GetRepositoryPolicy",
   309        "http":{
   310          "method":"POST",
   311          "requestUri":"/"
   312        },
   313        "input":{"shape":"GetRepositoryPolicyRequest"},
   314        "output":{"shape":"GetRepositoryPolicyResponse"},
   315        "errors":[
   316          {"shape":"ServerException"},
   317          {"shape":"InvalidParameterException"},
   318          {"shape":"RepositoryNotFoundException"},
   319          {"shape":"RepositoryPolicyNotFoundException"}
   320        ]
   321      },
   322      "InitiateLayerUpload":{
   323        "name":"InitiateLayerUpload",
   324        "http":{
   325          "method":"POST",
   326          "requestUri":"/"
   327        },
   328        "input":{"shape":"InitiateLayerUploadRequest"},
   329        "output":{"shape":"InitiateLayerUploadResponse"},
   330        "errors":[
   331          {"shape":"ServerException"},
   332          {"shape":"InvalidParameterException"},
   333          {"shape":"RepositoryNotFoundException"},
   334          {"shape":"KmsException"}
   335        ]
   336      },
   337      "ListImages":{
   338        "name":"ListImages",
   339        "http":{
   340          "method":"POST",
   341          "requestUri":"/"
   342        },
   343        "input":{"shape":"ListImagesRequest"},
   344        "output":{"shape":"ListImagesResponse"},
   345        "errors":[
   346          {"shape":"ServerException"},
   347          {"shape":"InvalidParameterException"},
   348          {"shape":"RepositoryNotFoundException"}
   349        ]
   350      },
   351      "ListTagsForResource":{
   352        "name":"ListTagsForResource",
   353        "http":{
   354          "method":"POST",
   355          "requestUri":"/"
   356        },
   357        "input":{"shape":"ListTagsForResourceRequest"},
   358        "output":{"shape":"ListTagsForResourceResponse"},
   359        "errors":[
   360          {"shape":"InvalidParameterException"},
   361          {"shape":"RepositoryNotFoundException"},
   362          {"shape":"ServerException"}
   363        ]
   364      },
   365      "PutImage":{
   366        "name":"PutImage",
   367        "http":{
   368          "method":"POST",
   369          "requestUri":"/"
   370        },
   371        "input":{"shape":"PutImageRequest"},
   372        "output":{"shape":"PutImageResponse"},
   373        "errors":[
   374          {"shape":"ServerException"},
   375          {"shape":"InvalidParameterException"},
   376          {"shape":"RepositoryNotFoundException"},
   377          {"shape":"ImageAlreadyExistsException"},
   378          {"shape":"LayersNotFoundException"},
   379          {"shape":"ReferencedImagesNotFoundException"},
   380          {"shape":"LimitExceededException"},
   381          {"shape":"ImageTagAlreadyExistsException"},
   382          {"shape":"ImageDigestDoesNotMatchException"},
   383          {"shape":"KmsException"}
   384        ]
   385      },
   386      "PutImageScanningConfiguration":{
   387        "name":"PutImageScanningConfiguration",
   388        "http":{
   389          "method":"POST",
   390          "requestUri":"/"
   391        },
   392        "input":{"shape":"PutImageScanningConfigurationRequest"},
   393        "output":{"shape":"PutImageScanningConfigurationResponse"},
   394        "errors":[
   395          {"shape":"ServerException"},
   396          {"shape":"InvalidParameterException"},
   397          {"shape":"RepositoryNotFoundException"}
   398        ]
   399      },
   400      "PutImageTagMutability":{
   401        "name":"PutImageTagMutability",
   402        "http":{
   403          "method":"POST",
   404          "requestUri":"/"
   405        },
   406        "input":{"shape":"PutImageTagMutabilityRequest"},
   407        "output":{"shape":"PutImageTagMutabilityResponse"},
   408        "errors":[
   409          {"shape":"ServerException"},
   410          {"shape":"InvalidParameterException"},
   411          {"shape":"RepositoryNotFoundException"}
   412        ]
   413      },
   414      "PutLifecyclePolicy":{
   415        "name":"PutLifecyclePolicy",
   416        "http":{
   417          "method":"POST",
   418          "requestUri":"/"
   419        },
   420        "input":{"shape":"PutLifecyclePolicyRequest"},
   421        "output":{"shape":"PutLifecyclePolicyResponse"},
   422        "errors":[
   423          {"shape":"ServerException"},
   424          {"shape":"InvalidParameterException"},
   425          {"shape":"RepositoryNotFoundException"}
   426        ]
   427      },
   428      "PutRegistryPolicy":{
   429        "name":"PutRegistryPolicy",
   430        "http":{
   431          "method":"POST",
   432          "requestUri":"/"
   433        },
   434        "input":{"shape":"PutRegistryPolicyRequest"},
   435        "output":{"shape":"PutRegistryPolicyResponse"},
   436        "errors":[
   437          {"shape":"ServerException"},
   438          {"shape":"InvalidParameterException"},
   439          {"shape":"ValidationException"}
   440        ]
   441      },
   442      "PutReplicationConfiguration":{
   443        "name":"PutReplicationConfiguration",
   444        "http":{
   445          "method":"POST",
   446          "requestUri":"/"
   447        },
   448        "input":{"shape":"PutReplicationConfigurationRequest"},
   449        "output":{"shape":"PutReplicationConfigurationResponse"},
   450        "errors":[
   451          {"shape":"ServerException"},
   452          {"shape":"InvalidParameterException"},
   453          {"shape":"ValidationException"}
   454        ]
   455      },
   456      "SetRepositoryPolicy":{
   457        "name":"SetRepositoryPolicy",
   458        "http":{
   459          "method":"POST",
   460          "requestUri":"/"
   461        },
   462        "input":{"shape":"SetRepositoryPolicyRequest"},
   463        "output":{"shape":"SetRepositoryPolicyResponse"},
   464        "errors":[
   465          {"shape":"ServerException"},
   466          {"shape":"InvalidParameterException"},
   467          {"shape":"RepositoryNotFoundException"}
   468        ]
   469      },
   470      "StartImageScan":{
   471        "name":"StartImageScan",
   472        "http":{
   473          "method":"POST",
   474          "requestUri":"/"
   475        },
   476        "input":{"shape":"StartImageScanRequest"},
   477        "output":{"shape":"StartImageScanResponse"},
   478        "errors":[
   479          {"shape":"ServerException"},
   480          {"shape":"InvalidParameterException"},
   481          {"shape":"UnsupportedImageTypeException"},
   482          {"shape":"LimitExceededException"},
   483          {"shape":"RepositoryNotFoundException"},
   484          {"shape":"ImageNotFoundException"}
   485        ]
   486      },
   487      "StartLifecyclePolicyPreview":{
   488        "name":"StartLifecyclePolicyPreview",
   489        "http":{
   490          "method":"POST",
   491          "requestUri":"/"
   492        },
   493        "input":{"shape":"StartLifecyclePolicyPreviewRequest"},
   494        "output":{"shape":"StartLifecyclePolicyPreviewResponse"},
   495        "errors":[
   496          {"shape":"ServerException"},
   497          {"shape":"InvalidParameterException"},
   498          {"shape":"RepositoryNotFoundException"},
   499          {"shape":"LifecyclePolicyNotFoundException"},
   500          {"shape":"LifecyclePolicyPreviewInProgressException"}
   501        ]
   502      },
   503      "TagResource":{
   504        "name":"TagResource",
   505        "http":{
   506          "method":"POST",
   507          "requestUri":"/"
   508        },
   509        "input":{"shape":"TagResourceRequest"},
   510        "output":{"shape":"TagResourceResponse"},
   511        "errors":[
   512          {"shape":"InvalidParameterException"},
   513          {"shape":"InvalidTagParameterException"},
   514          {"shape":"TooManyTagsException"},
   515          {"shape":"RepositoryNotFoundException"},
   516          {"shape":"ServerException"}
   517        ]
   518      },
   519      "UntagResource":{
   520        "name":"UntagResource",
   521        "http":{
   522          "method":"POST",
   523          "requestUri":"/"
   524        },
   525        "input":{"shape":"UntagResourceRequest"},
   526        "output":{"shape":"UntagResourceResponse"},
   527        "errors":[
   528          {"shape":"InvalidParameterException"},
   529          {"shape":"InvalidTagParameterException"},
   530          {"shape":"TooManyTagsException"},
   531          {"shape":"RepositoryNotFoundException"},
   532          {"shape":"ServerException"}
   533        ]
   534      },
   535      "UploadLayerPart":{
   536        "name":"UploadLayerPart",
   537        "http":{
   538          "method":"POST",
   539          "requestUri":"/"
   540        },
   541        "input":{"shape":"UploadLayerPartRequest"},
   542        "output":{"shape":"UploadLayerPartResponse"},
   543        "errors":[
   544          {"shape":"ServerException"},
   545          {"shape":"InvalidParameterException"},
   546          {"shape":"InvalidLayerPartException"},
   547          {"shape":"RepositoryNotFoundException"},
   548          {"shape":"UploadNotFoundException"},
   549          {"shape":"LimitExceededException"},
   550          {"shape":"KmsException"}
   551        ]
   552      }
   553    },
   554    "shapes":{
   555      "Arn":{"type":"string"},
   556      "Attribute":{
   557        "type":"structure",
   558        "required":["key"],
   559        "members":{
   560          "key":{"shape":"AttributeKey"},
   561          "value":{"shape":"AttributeValue"}
   562        }
   563      },
   564      "AttributeKey":{
   565        "type":"string",
   566        "max":128,
   567        "min":1
   568      },
   569      "AttributeList":{
   570        "type":"list",
   571        "member":{"shape":"Attribute"},
   572        "max":50,
   573        "min":0
   574      },
   575      "AttributeValue":{
   576        "type":"string",
   577        "max":256,
   578        "min":1
   579      },
   580      "AuthorizationData":{
   581        "type":"structure",
   582        "members":{
   583          "authorizationToken":{"shape":"Base64"},
   584          "expiresAt":{"shape":"ExpirationTimestamp"},
   585          "proxyEndpoint":{"shape":"ProxyEndpoint"}
   586        }
   587      },
   588      "AuthorizationDataList":{
   589        "type":"list",
   590        "member":{"shape":"AuthorizationData"}
   591      },
   592      "Base64":{
   593        "type":"string",
   594        "pattern":"^\\S+$"
   595      },
   596      "BatchCheckLayerAvailabilityRequest":{
   597        "type":"structure",
   598        "required":[
   599          "repositoryName",
   600          "layerDigests"
   601        ],
   602        "members":{
   603          "registryId":{"shape":"RegistryId"},
   604          "repositoryName":{"shape":"RepositoryName"},
   605          "layerDigests":{"shape":"BatchedOperationLayerDigestList"}
   606        }
   607      },
   608      "BatchCheckLayerAvailabilityResponse":{
   609        "type":"structure",
   610        "members":{
   611          "layers":{"shape":"LayerList"},
   612          "failures":{"shape":"LayerFailureList"}
   613        }
   614      },
   615      "BatchDeleteImageRequest":{
   616        "type":"structure",
   617        "required":[
   618          "repositoryName",
   619          "imageIds"
   620        ],
   621        "members":{
   622          "registryId":{"shape":"RegistryId"},
   623          "repositoryName":{"shape":"RepositoryName"},
   624          "imageIds":{"shape":"ImageIdentifierList"}
   625        }
   626      },
   627      "BatchDeleteImageResponse":{
   628        "type":"structure",
   629        "members":{
   630          "imageIds":{"shape":"ImageIdentifierList"},
   631          "failures":{"shape":"ImageFailureList"}
   632        }
   633      },
   634      "BatchGetImageRequest":{
   635        "type":"structure",
   636        "required":[
   637          "repositoryName",
   638          "imageIds"
   639        ],
   640        "members":{
   641          "registryId":{"shape":"RegistryId"},
   642          "repositoryName":{"shape":"RepositoryName"},
   643          "imageIds":{"shape":"ImageIdentifierList"},
   644          "acceptedMediaTypes":{"shape":"MediaTypeList"}
   645        }
   646      },
   647      "BatchGetImageResponse":{
   648        "type":"structure",
   649        "members":{
   650          "images":{"shape":"ImageList"},
   651          "failures":{"shape":"ImageFailureList"}
   652        }
   653      },
   654      "BatchedOperationLayerDigest":{
   655        "type":"string",
   656        "max":1000,
   657        "min":0
   658      },
   659      "BatchedOperationLayerDigestList":{
   660        "type":"list",
   661        "member":{"shape":"BatchedOperationLayerDigest"},
   662        "max":100,
   663        "min":1
   664      },
   665      "CompleteLayerUploadRequest":{
   666        "type":"structure",
   667        "required":[
   668          "repositoryName",
   669          "uploadId",
   670          "layerDigests"
   671        ],
   672        "members":{
   673          "registryId":{"shape":"RegistryId"},
   674          "repositoryName":{"shape":"RepositoryName"},
   675          "uploadId":{"shape":"UploadId"},
   676          "layerDigests":{"shape":"LayerDigestList"}
   677        }
   678      },
   679      "CompleteLayerUploadResponse":{
   680        "type":"structure",
   681        "members":{
   682          "registryId":{"shape":"RegistryId"},
   683          "repositoryName":{"shape":"RepositoryName"},
   684          "uploadId":{"shape":"UploadId"},
   685          "layerDigest":{"shape":"LayerDigest"}
   686        }
   687      },
   688      "CreateRepositoryRequest":{
   689        "type":"structure",
   690        "required":["repositoryName"],
   691        "members":{
   692          "registryId":{"shape":"RegistryId"},
   693          "repositoryName":{"shape":"RepositoryName"},
   694          "tags":{"shape":"TagList"},
   695          "imageTagMutability":{"shape":"ImageTagMutability"},
   696          "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"},
   697          "encryptionConfiguration":{"shape":"EncryptionConfiguration"}
   698        }
   699      },
   700      "CreateRepositoryResponse":{
   701        "type":"structure",
   702        "members":{
   703          "repository":{"shape":"Repository"}
   704        }
   705      },
   706      "CreationTimestamp":{"type":"timestamp"},
   707      "DeleteLifecyclePolicyRequest":{
   708        "type":"structure",
   709        "required":["repositoryName"],
   710        "members":{
   711          "registryId":{"shape":"RegistryId"},
   712          "repositoryName":{"shape":"RepositoryName"}
   713        }
   714      },
   715      "DeleteLifecyclePolicyResponse":{
   716        "type":"structure",
   717        "members":{
   718          "registryId":{"shape":"RegistryId"},
   719          "repositoryName":{"shape":"RepositoryName"},
   720          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"},
   721          "lastEvaluatedAt":{"shape":"EvaluationTimestamp"}
   722        }
   723      },
   724      "DeleteRegistryPolicyRequest":{
   725        "type":"structure",
   726        "members":{
   727        }
   728      },
   729      "DeleteRegistryPolicyResponse":{
   730        "type":"structure",
   731        "members":{
   732          "registryId":{"shape":"RegistryId"},
   733          "policyText":{"shape":"RegistryPolicyText"}
   734        }
   735      },
   736      "DeleteRepositoryPolicyRequest":{
   737        "type":"structure",
   738        "required":["repositoryName"],
   739        "members":{
   740          "registryId":{"shape":"RegistryId"},
   741          "repositoryName":{"shape":"RepositoryName"}
   742        }
   743      },
   744      "DeleteRepositoryPolicyResponse":{
   745        "type":"structure",
   746        "members":{
   747          "registryId":{"shape":"RegistryId"},
   748          "repositoryName":{"shape":"RepositoryName"},
   749          "policyText":{"shape":"RepositoryPolicyText"}
   750        }
   751      },
   752      "DeleteRepositoryRequest":{
   753        "type":"structure",
   754        "required":["repositoryName"],
   755        "members":{
   756          "registryId":{"shape":"RegistryId"},
   757          "repositoryName":{"shape":"RepositoryName"},
   758          "force":{"shape":"ForceFlag"}
   759        }
   760      },
   761      "DeleteRepositoryResponse":{
   762        "type":"structure",
   763        "members":{
   764          "repository":{"shape":"Repository"}
   765        }
   766      },
   767      "DescribeImageReplicationStatusRequest":{
   768        "type":"structure",
   769        "required":[
   770          "repositoryName",
   771          "imageId"
   772        ],
   773        "members":{
   774          "repositoryName":{"shape":"RepositoryName"},
   775          "imageId":{"shape":"ImageIdentifier"},
   776          "registryId":{"shape":"RegistryId"}
   777        }
   778      },
   779      "DescribeImageReplicationStatusResponse":{
   780        "type":"structure",
   781        "members":{
   782          "repositoryName":{"shape":"RepositoryName"},
   783          "imageId":{"shape":"ImageIdentifier"},
   784          "replicationStatuses":{"shape":"ImageReplicationStatusList"}
   785        }
   786      },
   787      "DescribeImageScanFindingsRequest":{
   788        "type":"structure",
   789        "required":[
   790          "repositoryName",
   791          "imageId"
   792        ],
   793        "members":{
   794          "registryId":{"shape":"RegistryId"},
   795          "repositoryName":{"shape":"RepositoryName"},
   796          "imageId":{"shape":"ImageIdentifier"},
   797          "nextToken":{"shape":"NextToken"},
   798          "maxResults":{"shape":"MaxResults"}
   799        }
   800      },
   801      "DescribeImageScanFindingsResponse":{
   802        "type":"structure",
   803        "members":{
   804          "registryId":{"shape":"RegistryId"},
   805          "repositoryName":{"shape":"RepositoryName"},
   806          "imageId":{"shape":"ImageIdentifier"},
   807          "imageScanStatus":{"shape":"ImageScanStatus"},
   808          "imageScanFindings":{"shape":"ImageScanFindings"},
   809          "nextToken":{"shape":"NextToken"}
   810        }
   811      },
   812      "DescribeImagesFilter":{
   813        "type":"structure",
   814        "members":{
   815          "tagStatus":{"shape":"TagStatus"}
   816        }
   817      },
   818      "DescribeImagesRequest":{
   819        "type":"structure",
   820        "required":["repositoryName"],
   821        "members":{
   822          "registryId":{"shape":"RegistryId"},
   823          "repositoryName":{"shape":"RepositoryName"},
   824          "imageIds":{"shape":"ImageIdentifierList"},
   825          "nextToken":{"shape":"NextToken"},
   826          "maxResults":{"shape":"MaxResults"},
   827          "filter":{"shape":"DescribeImagesFilter"}
   828        }
   829      },
   830      "DescribeImagesResponse":{
   831        "type":"structure",
   832        "members":{
   833          "imageDetails":{"shape":"ImageDetailList"},
   834          "nextToken":{"shape":"NextToken"}
   835        }
   836      },
   837      "DescribeRegistryRequest":{
   838        "type":"structure",
   839        "members":{
   840        }
   841      },
   842      "DescribeRegistryResponse":{
   843        "type":"structure",
   844        "members":{
   845          "registryId":{"shape":"RegistryId"},
   846          "replicationConfiguration":{"shape":"ReplicationConfiguration"}
   847        }
   848      },
   849      "DescribeRepositoriesRequest":{
   850        "type":"structure",
   851        "members":{
   852          "registryId":{"shape":"RegistryId"},
   853          "repositoryNames":{"shape":"RepositoryNameList"},
   854          "nextToken":{"shape":"NextToken"},
   855          "maxResults":{"shape":"MaxResults"}
   856        }
   857      },
   858      "DescribeRepositoriesResponse":{
   859        "type":"structure",
   860        "members":{
   861          "repositories":{"shape":"RepositoryList"},
   862          "nextToken":{"shape":"NextToken"}
   863        }
   864      },
   865      "EmptyUploadException":{
   866        "type":"structure",
   867        "members":{
   868          "message":{"shape":"ExceptionMessage"}
   869        },
   870        "exception":true
   871      },
   872      "EncryptionConfiguration":{
   873        "type":"structure",
   874        "required":["encryptionType"],
   875        "members":{
   876          "encryptionType":{"shape":"EncryptionType"},
   877          "kmsKey":{"shape":"KmsKey"}
   878        }
   879      },
   880      "EncryptionType":{
   881        "type":"string",
   882        "enum":[
   883          "AES256",
   884          "KMS"
   885        ]
   886      },
   887      "EvaluationTimestamp":{"type":"timestamp"},
   888      "ExceptionMessage":{"type":"string"},
   889      "ExpirationTimestamp":{"type":"timestamp"},
   890      "FindingDescription":{"type":"string"},
   891      "FindingName":{"type":"string"},
   892      "FindingSeverity":{
   893        "type":"string",
   894        "enum":[
   895          "INFORMATIONAL",
   896          "LOW",
   897          "MEDIUM",
   898          "HIGH",
   899          "CRITICAL",
   900          "UNDEFINED"
   901        ]
   902      },
   903      "FindingSeverityCounts":{
   904        "type":"map",
   905        "key":{"shape":"FindingSeverity"},
   906        "value":{"shape":"SeverityCount"}
   907      },
   908      "ForceFlag":{"type":"boolean"},
   909      "GetAuthorizationTokenRegistryIdList":{
   910        "type":"list",
   911        "member":{"shape":"RegistryId"},
   912        "max":10,
   913        "min":1
   914      },
   915      "GetAuthorizationTokenRequest":{
   916        "type":"structure",
   917        "members":{
   918          "registryIds":{
   919            "shape":"GetAuthorizationTokenRegistryIdList",
   920            "deprecated":true,
   921            "deprecatedMessage":"This field is deprecated. The returned authorization token can be used to access any Amazon ECR registry that the IAM principal has access to, specifying a registry ID doesn't change the permissions scope of the authorization token."
   922          }
   923        }
   924      },
   925      "GetAuthorizationTokenResponse":{
   926        "type":"structure",
   927        "members":{
   928          "authorizationData":{"shape":"AuthorizationDataList"}
   929        }
   930      },
   931      "GetDownloadUrlForLayerRequest":{
   932        "type":"structure",
   933        "required":[
   934          "repositoryName",
   935          "layerDigest"
   936        ],
   937        "members":{
   938          "registryId":{"shape":"RegistryId"},
   939          "repositoryName":{"shape":"RepositoryName"},
   940          "layerDigest":{"shape":"LayerDigest"}
   941        }
   942      },
   943      "GetDownloadUrlForLayerResponse":{
   944        "type":"structure",
   945        "members":{
   946          "downloadUrl":{"shape":"Url"},
   947          "layerDigest":{"shape":"LayerDigest"}
   948        }
   949      },
   950      "GetLifecyclePolicyPreviewRequest":{
   951        "type":"structure",
   952        "required":["repositoryName"],
   953        "members":{
   954          "registryId":{"shape":"RegistryId"},
   955          "repositoryName":{"shape":"RepositoryName"},
   956          "imageIds":{"shape":"ImageIdentifierList"},
   957          "nextToken":{"shape":"NextToken"},
   958          "maxResults":{"shape":"LifecyclePreviewMaxResults"},
   959          "filter":{"shape":"LifecyclePolicyPreviewFilter"}
   960        }
   961      },
   962      "GetLifecyclePolicyPreviewResponse":{
   963        "type":"structure",
   964        "members":{
   965          "registryId":{"shape":"RegistryId"},
   966          "repositoryName":{"shape":"RepositoryName"},
   967          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"},
   968          "status":{"shape":"LifecyclePolicyPreviewStatus"},
   969          "nextToken":{"shape":"NextToken"},
   970          "previewResults":{"shape":"LifecyclePolicyPreviewResultList"},
   971          "summary":{"shape":"LifecyclePolicyPreviewSummary"}
   972        }
   973      },
   974      "GetLifecyclePolicyRequest":{
   975        "type":"structure",
   976        "required":["repositoryName"],
   977        "members":{
   978          "registryId":{"shape":"RegistryId"},
   979          "repositoryName":{"shape":"RepositoryName"}
   980        }
   981      },
   982      "GetLifecyclePolicyResponse":{
   983        "type":"structure",
   984        "members":{
   985          "registryId":{"shape":"RegistryId"},
   986          "repositoryName":{"shape":"RepositoryName"},
   987          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"},
   988          "lastEvaluatedAt":{"shape":"EvaluationTimestamp"}
   989        }
   990      },
   991      "GetRegistryPolicyRequest":{
   992        "type":"structure",
   993        "members":{
   994        }
   995      },
   996      "GetRegistryPolicyResponse":{
   997        "type":"structure",
   998        "members":{
   999          "registryId":{"shape":"RegistryId"},
  1000          "policyText":{"shape":"RegistryPolicyText"}
  1001        }
  1002      },
  1003      "GetRepositoryPolicyRequest":{
  1004        "type":"structure",
  1005        "required":["repositoryName"],
  1006        "members":{
  1007          "registryId":{"shape":"RegistryId"},
  1008          "repositoryName":{"shape":"RepositoryName"}
  1009        }
  1010      },
  1011      "GetRepositoryPolicyResponse":{
  1012        "type":"structure",
  1013        "members":{
  1014          "registryId":{"shape":"RegistryId"},
  1015          "repositoryName":{"shape":"RepositoryName"},
  1016          "policyText":{"shape":"RepositoryPolicyText"}
  1017        }
  1018      },
  1019      "Image":{
  1020        "type":"structure",
  1021        "members":{
  1022          "registryId":{"shape":"RegistryId"},
  1023          "repositoryName":{"shape":"RepositoryName"},
  1024          "imageId":{"shape":"ImageIdentifier"},
  1025          "imageManifest":{"shape":"ImageManifest"},
  1026          "imageManifestMediaType":{"shape":"MediaType"}
  1027        }
  1028      },
  1029      "ImageActionType":{
  1030        "type":"string",
  1031        "enum":["EXPIRE"]
  1032      },
  1033      "ImageAlreadyExistsException":{
  1034        "type":"structure",
  1035        "members":{
  1036          "message":{"shape":"ExceptionMessage"}
  1037        },
  1038        "exception":true
  1039      },
  1040      "ImageCount":{
  1041        "type":"integer",
  1042        "min":0
  1043      },
  1044      "ImageDetail":{
  1045        "type":"structure",
  1046        "members":{
  1047          "registryId":{"shape":"RegistryId"},
  1048          "repositoryName":{"shape":"RepositoryName"},
  1049          "imageDigest":{"shape":"ImageDigest"},
  1050          "imageTags":{"shape":"ImageTagList"},
  1051          "imageSizeInBytes":{"shape":"ImageSizeInBytes"},
  1052          "imagePushedAt":{"shape":"PushTimestamp"},
  1053          "imageScanStatus":{"shape":"ImageScanStatus"},
  1054          "imageScanFindingsSummary":{"shape":"ImageScanFindingsSummary"},
  1055          "imageManifestMediaType":{"shape":"MediaType"},
  1056          "artifactMediaType":{"shape":"MediaType"}
  1057        }
  1058      },
  1059      "ImageDetailList":{
  1060        "type":"list",
  1061        "member":{"shape":"ImageDetail"}
  1062      },
  1063      "ImageDigest":{"type":"string"},
  1064      "ImageDigestDoesNotMatchException":{
  1065        "type":"structure",
  1066        "members":{
  1067          "message":{"shape":"ExceptionMessage"}
  1068        },
  1069        "exception":true
  1070      },
  1071      "ImageFailure":{
  1072        "type":"structure",
  1073        "members":{
  1074          "imageId":{"shape":"ImageIdentifier"},
  1075          "failureCode":{"shape":"ImageFailureCode"},
  1076          "failureReason":{"shape":"ImageFailureReason"}
  1077        }
  1078      },
  1079      "ImageFailureCode":{
  1080        "type":"string",
  1081        "enum":[
  1082          "InvalidImageDigest",
  1083          "InvalidImageTag",
  1084          "ImageTagDoesNotMatchDigest",
  1085          "ImageNotFound",
  1086          "MissingDigestAndTag",
  1087          "ImageReferencedByManifestList",
  1088          "KmsError"
  1089        ]
  1090      },
  1091      "ImageFailureList":{
  1092        "type":"list",
  1093        "member":{"shape":"ImageFailure"}
  1094      },
  1095      "ImageFailureReason":{"type":"string"},
  1096      "ImageIdentifier":{
  1097        "type":"structure",
  1098        "members":{
  1099          "imageDigest":{"shape":"ImageDigest"},
  1100          "imageTag":{"shape":"ImageTag"}
  1101        }
  1102      },
  1103      "ImageIdentifierList":{
  1104        "type":"list",
  1105        "member":{"shape":"ImageIdentifier"},
  1106        "max":100,
  1107        "min":1
  1108      },
  1109      "ImageList":{
  1110        "type":"list",
  1111        "member":{"shape":"Image"}
  1112      },
  1113      "ImageManifest":{
  1114        "type":"string",
  1115        "max":4194304,
  1116        "min":1
  1117      },
  1118      "ImageNotFoundException":{
  1119        "type":"structure",
  1120        "members":{
  1121          "message":{"shape":"ExceptionMessage"}
  1122        },
  1123        "exception":true
  1124      },
  1125      "ImageReplicationStatus":{
  1126        "type":"structure",
  1127        "members":{
  1128          "region":{"shape":"Region"},
  1129          "registryId":{"shape":"RegistryId"},
  1130          "status":{"shape":"ReplicationStatus"},
  1131          "failureCode":{"shape":"ReplicationError"}
  1132        }
  1133      },
  1134      "ImageReplicationStatusList":{
  1135        "type":"list",
  1136        "member":{"shape":"ImageReplicationStatus"}
  1137      },
  1138      "ImageScanFinding":{
  1139        "type":"structure",
  1140        "members":{
  1141          "name":{"shape":"FindingName"},
  1142          "description":{"shape":"FindingDescription"},
  1143          "uri":{"shape":"Url"},
  1144          "severity":{"shape":"FindingSeverity"},
  1145          "attributes":{"shape":"AttributeList"}
  1146        }
  1147      },
  1148      "ImageScanFindingList":{
  1149        "type":"list",
  1150        "member":{"shape":"ImageScanFinding"}
  1151      },
  1152      "ImageScanFindings":{
  1153        "type":"structure",
  1154        "members":{
  1155          "imageScanCompletedAt":{"shape":"ScanTimestamp"},
  1156          "vulnerabilitySourceUpdatedAt":{"shape":"VulnerabilitySourceUpdateTimestamp"},
  1157          "findings":{"shape":"ImageScanFindingList"},
  1158          "findingSeverityCounts":{"shape":"FindingSeverityCounts"}
  1159        }
  1160      },
  1161      "ImageScanFindingsSummary":{
  1162        "type":"structure",
  1163        "members":{
  1164          "imageScanCompletedAt":{"shape":"ScanTimestamp"},
  1165          "vulnerabilitySourceUpdatedAt":{"shape":"VulnerabilitySourceUpdateTimestamp"},
  1166          "findingSeverityCounts":{"shape":"FindingSeverityCounts"}
  1167        }
  1168      },
  1169      "ImageScanStatus":{
  1170        "type":"structure",
  1171        "members":{
  1172          "status":{"shape":"ScanStatus"},
  1173          "description":{"shape":"ScanStatusDescription"}
  1174        }
  1175      },
  1176      "ImageScanningConfiguration":{
  1177        "type":"structure",
  1178        "members":{
  1179          "scanOnPush":{"shape":"ScanOnPushFlag"}
  1180        }
  1181      },
  1182      "ImageSizeInBytes":{"type":"long"},
  1183      "ImageTag":{
  1184        "type":"string",
  1185        "max":300,
  1186        "min":1
  1187      },
  1188      "ImageTagAlreadyExistsException":{
  1189        "type":"structure",
  1190        "members":{
  1191          "message":{"shape":"ExceptionMessage"}
  1192        },
  1193        "exception":true
  1194      },
  1195      "ImageTagList":{
  1196        "type":"list",
  1197        "member":{"shape":"ImageTag"}
  1198      },
  1199      "ImageTagMutability":{
  1200        "type":"string",
  1201        "enum":[
  1202          "MUTABLE",
  1203          "IMMUTABLE"
  1204        ]
  1205      },
  1206      "InitiateLayerUploadRequest":{
  1207        "type":"structure",
  1208        "required":["repositoryName"],
  1209        "members":{
  1210          "registryId":{"shape":"RegistryId"},
  1211          "repositoryName":{"shape":"RepositoryName"}
  1212        }
  1213      },
  1214      "InitiateLayerUploadResponse":{
  1215        "type":"structure",
  1216        "members":{
  1217          "uploadId":{"shape":"UploadId"},
  1218          "partSize":{"shape":"PartSize"}
  1219        }
  1220      },
  1221      "InvalidLayerException":{
  1222        "type":"structure",
  1223        "members":{
  1224          "message":{"shape":"ExceptionMessage"}
  1225        },
  1226        "exception":true
  1227      },
  1228      "InvalidLayerPartException":{
  1229        "type":"structure",
  1230        "members":{
  1231          "registryId":{"shape":"RegistryId"},
  1232          "repositoryName":{"shape":"RepositoryName"},
  1233          "uploadId":{"shape":"UploadId"},
  1234          "lastValidByteReceived":{"shape":"PartSize"},
  1235          "message":{"shape":"ExceptionMessage"}
  1236        },
  1237        "exception":true
  1238      },
  1239      "InvalidParameterException":{
  1240        "type":"structure",
  1241        "members":{
  1242          "message":{"shape":"ExceptionMessage"}
  1243        },
  1244        "exception":true
  1245      },
  1246      "InvalidTagParameterException":{
  1247        "type":"structure",
  1248        "members":{
  1249          "message":{"shape":"ExceptionMessage"}
  1250        },
  1251        "exception":true
  1252      },
  1253      "KmsError":{"type":"string"},
  1254      "KmsException":{
  1255        "type":"structure",
  1256        "members":{
  1257          "message":{"shape":"ExceptionMessage"},
  1258          "kmsError":{"shape":"KmsError"}
  1259        },
  1260        "exception":true
  1261      },
  1262      "KmsKey":{
  1263        "type":"string",
  1264        "max":2048,
  1265        "min":1
  1266      },
  1267      "Layer":{
  1268        "type":"structure",
  1269        "members":{
  1270          "layerDigest":{"shape":"LayerDigest"},
  1271          "layerAvailability":{"shape":"LayerAvailability"},
  1272          "layerSize":{"shape":"LayerSizeInBytes"},
  1273          "mediaType":{"shape":"MediaType"}
  1274        }
  1275      },
  1276      "LayerAlreadyExistsException":{
  1277        "type":"structure",
  1278        "members":{
  1279          "message":{"shape":"ExceptionMessage"}
  1280        },
  1281        "exception":true
  1282      },
  1283      "LayerAvailability":{
  1284        "type":"string",
  1285        "enum":[
  1286          "AVAILABLE",
  1287          "UNAVAILABLE"
  1288        ]
  1289      },
  1290      "LayerDigest":{
  1291        "type":"string",
  1292        "pattern":"[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+"
  1293      },
  1294      "LayerDigestList":{
  1295        "type":"list",
  1296        "member":{"shape":"LayerDigest"},
  1297        "max":100,
  1298        "min":1
  1299      },
  1300      "LayerFailure":{
  1301        "type":"structure",
  1302        "members":{
  1303          "layerDigest":{"shape":"BatchedOperationLayerDigest"},
  1304          "failureCode":{"shape":"LayerFailureCode"},
  1305          "failureReason":{"shape":"LayerFailureReason"}
  1306        }
  1307      },
  1308      "LayerFailureCode":{
  1309        "type":"string",
  1310        "enum":[
  1311          "InvalidLayerDigest",
  1312          "MissingLayerDigest"
  1313        ]
  1314      },
  1315      "LayerFailureList":{
  1316        "type":"list",
  1317        "member":{"shape":"LayerFailure"}
  1318      },
  1319      "LayerFailureReason":{"type":"string"},
  1320      "LayerInaccessibleException":{
  1321        "type":"structure",
  1322        "members":{
  1323          "message":{"shape":"ExceptionMessage"}
  1324        },
  1325        "exception":true
  1326      },
  1327      "LayerList":{
  1328        "type":"list",
  1329        "member":{"shape":"Layer"}
  1330      },
  1331      "LayerPartBlob":{
  1332        "type":"blob",
  1333        "max":20971520,
  1334        "min":0
  1335      },
  1336      "LayerPartTooSmallException":{
  1337        "type":"structure",
  1338        "members":{
  1339          "message":{"shape":"ExceptionMessage"}
  1340        },
  1341        "exception":true
  1342      },
  1343      "LayerSizeInBytes":{"type":"long"},
  1344      "LayersNotFoundException":{
  1345        "type":"structure",
  1346        "members":{
  1347          "message":{"shape":"ExceptionMessage"}
  1348        },
  1349        "exception":true
  1350      },
  1351      "LifecyclePolicyNotFoundException":{
  1352        "type":"structure",
  1353        "members":{
  1354          "message":{"shape":"ExceptionMessage"}
  1355        },
  1356        "exception":true
  1357      },
  1358      "LifecyclePolicyPreviewFilter":{
  1359        "type":"structure",
  1360        "members":{
  1361          "tagStatus":{"shape":"TagStatus"}
  1362        }
  1363      },
  1364      "LifecyclePolicyPreviewInProgressException":{
  1365        "type":"structure",
  1366        "members":{
  1367          "message":{"shape":"ExceptionMessage"}
  1368        },
  1369        "exception":true
  1370      },
  1371      "LifecyclePolicyPreviewNotFoundException":{
  1372        "type":"structure",
  1373        "members":{
  1374          "message":{"shape":"ExceptionMessage"}
  1375        },
  1376        "exception":true
  1377      },
  1378      "LifecyclePolicyPreviewResult":{
  1379        "type":"structure",
  1380        "members":{
  1381          "imageTags":{"shape":"ImageTagList"},
  1382          "imageDigest":{"shape":"ImageDigest"},
  1383          "imagePushedAt":{"shape":"PushTimestamp"},
  1384          "action":{"shape":"LifecyclePolicyRuleAction"},
  1385          "appliedRulePriority":{"shape":"LifecyclePolicyRulePriority"}
  1386        }
  1387      },
  1388      "LifecyclePolicyPreviewResultList":{
  1389        "type":"list",
  1390        "member":{"shape":"LifecyclePolicyPreviewResult"}
  1391      },
  1392      "LifecyclePolicyPreviewStatus":{
  1393        "type":"string",
  1394        "enum":[
  1395          "IN_PROGRESS",
  1396          "COMPLETE",
  1397          "EXPIRED",
  1398          "FAILED"
  1399        ]
  1400      },
  1401      "LifecyclePolicyPreviewSummary":{
  1402        "type":"structure",
  1403        "members":{
  1404          "expiringImageTotalCount":{"shape":"ImageCount"}
  1405        }
  1406      },
  1407      "LifecyclePolicyRuleAction":{
  1408        "type":"structure",
  1409        "members":{
  1410          "type":{"shape":"ImageActionType"}
  1411        }
  1412      },
  1413      "LifecyclePolicyRulePriority":{
  1414        "type":"integer",
  1415        "min":1
  1416      },
  1417      "LifecyclePolicyText":{
  1418        "type":"string",
  1419        "max":30720,
  1420        "min":100
  1421      },
  1422      "LifecyclePreviewMaxResults":{
  1423        "type":"integer",
  1424        "max":100,
  1425        "min":1
  1426      },
  1427      "LimitExceededException":{
  1428        "type":"structure",
  1429        "members":{
  1430          "message":{"shape":"ExceptionMessage"}
  1431        },
  1432        "exception":true
  1433      },
  1434      "ListImagesFilter":{
  1435        "type":"structure",
  1436        "members":{
  1437          "tagStatus":{"shape":"TagStatus"}
  1438        }
  1439      },
  1440      "ListImagesRequest":{
  1441        "type":"structure",
  1442        "required":["repositoryName"],
  1443        "members":{
  1444          "registryId":{"shape":"RegistryId"},
  1445          "repositoryName":{"shape":"RepositoryName"},
  1446          "nextToken":{"shape":"NextToken"},
  1447          "maxResults":{"shape":"MaxResults"},
  1448          "filter":{"shape":"ListImagesFilter"}
  1449        }
  1450      },
  1451      "ListImagesResponse":{
  1452        "type":"structure",
  1453        "members":{
  1454          "imageIds":{"shape":"ImageIdentifierList"},
  1455          "nextToken":{"shape":"NextToken"}
  1456        }
  1457      },
  1458      "ListTagsForResourceRequest":{
  1459        "type":"structure",
  1460        "required":["resourceArn"],
  1461        "members":{
  1462          "resourceArn":{"shape":"Arn"}
  1463        }
  1464      },
  1465      "ListTagsForResourceResponse":{
  1466        "type":"structure",
  1467        "members":{
  1468          "tags":{"shape":"TagList"}
  1469        }
  1470      },
  1471      "MaxResults":{
  1472        "type":"integer",
  1473        "max":1000,
  1474        "min":1
  1475      },
  1476      "MediaType":{"type":"string"},
  1477      "MediaTypeList":{
  1478        "type":"list",
  1479        "member":{"shape":"MediaType"},
  1480        "max":100,
  1481        "min":1
  1482      },
  1483      "NextToken":{"type":"string"},
  1484      "PartSize":{
  1485        "type":"long",
  1486        "min":0
  1487      },
  1488      "ProxyEndpoint":{"type":"string"},
  1489      "PushTimestamp":{"type":"timestamp"},
  1490      "PutImageRequest":{
  1491        "type":"structure",
  1492        "required":[
  1493          "repositoryName",
  1494          "imageManifest"
  1495        ],
  1496        "members":{
  1497          "registryId":{"shape":"RegistryId"},
  1498          "repositoryName":{"shape":"RepositoryName"},
  1499          "imageManifest":{"shape":"ImageManifest"},
  1500          "imageManifestMediaType":{"shape":"MediaType"},
  1501          "imageTag":{"shape":"ImageTag"},
  1502          "imageDigest":{"shape":"ImageDigest"}
  1503        }
  1504      },
  1505      "PutImageResponse":{
  1506        "type":"structure",
  1507        "members":{
  1508          "image":{"shape":"Image"}
  1509        }
  1510      },
  1511      "PutImageScanningConfigurationRequest":{
  1512        "type":"structure",
  1513        "required":[
  1514          "repositoryName",
  1515          "imageScanningConfiguration"
  1516        ],
  1517        "members":{
  1518          "registryId":{"shape":"RegistryId"},
  1519          "repositoryName":{"shape":"RepositoryName"},
  1520          "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}
  1521        }
  1522      },
  1523      "PutImageScanningConfigurationResponse":{
  1524        "type":"structure",
  1525        "members":{
  1526          "registryId":{"shape":"RegistryId"},
  1527          "repositoryName":{"shape":"RepositoryName"},
  1528          "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"}
  1529        }
  1530      },
  1531      "PutImageTagMutabilityRequest":{
  1532        "type":"structure",
  1533        "required":[
  1534          "repositoryName",
  1535          "imageTagMutability"
  1536        ],
  1537        "members":{
  1538          "registryId":{"shape":"RegistryId"},
  1539          "repositoryName":{"shape":"RepositoryName"},
  1540          "imageTagMutability":{"shape":"ImageTagMutability"}
  1541        }
  1542      },
  1543      "PutImageTagMutabilityResponse":{
  1544        "type":"structure",
  1545        "members":{
  1546          "registryId":{"shape":"RegistryId"},
  1547          "repositoryName":{"shape":"RepositoryName"},
  1548          "imageTagMutability":{"shape":"ImageTagMutability"}
  1549        }
  1550      },
  1551      "PutLifecyclePolicyRequest":{
  1552        "type":"structure",
  1553        "required":[
  1554          "repositoryName",
  1555          "lifecyclePolicyText"
  1556        ],
  1557        "members":{
  1558          "registryId":{"shape":"RegistryId"},
  1559          "repositoryName":{"shape":"RepositoryName"},
  1560          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"}
  1561        }
  1562      },
  1563      "PutLifecyclePolicyResponse":{
  1564        "type":"structure",
  1565        "members":{
  1566          "registryId":{"shape":"RegistryId"},
  1567          "repositoryName":{"shape":"RepositoryName"},
  1568          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"}
  1569        }
  1570      },
  1571      "PutRegistryPolicyRequest":{
  1572        "type":"structure",
  1573        "required":["policyText"],
  1574        "members":{
  1575          "policyText":{"shape":"RegistryPolicyText"}
  1576        }
  1577      },
  1578      "PutRegistryPolicyResponse":{
  1579        "type":"structure",
  1580        "members":{
  1581          "registryId":{"shape":"RegistryId"},
  1582          "policyText":{"shape":"RegistryPolicyText"}
  1583        }
  1584      },
  1585      "PutReplicationConfigurationRequest":{
  1586        "type":"structure",
  1587        "required":["replicationConfiguration"],
  1588        "members":{
  1589          "replicationConfiguration":{"shape":"ReplicationConfiguration"}
  1590        }
  1591      },
  1592      "PutReplicationConfigurationResponse":{
  1593        "type":"structure",
  1594        "members":{
  1595          "replicationConfiguration":{"shape":"ReplicationConfiguration"}
  1596        }
  1597      },
  1598      "ReferencedImagesNotFoundException":{
  1599        "type":"structure",
  1600        "members":{
  1601          "message":{"shape":"ExceptionMessage"}
  1602        },
  1603        "exception":true
  1604      },
  1605      "Region":{
  1606        "type":"string",
  1607        "max":25,
  1608        "min":2,
  1609        "pattern":"[0-9a-z-]{2,25}"
  1610      },
  1611      "RegistryId":{
  1612        "type":"string",
  1613        "pattern":"[0-9]{12}"
  1614      },
  1615      "RegistryPolicyNotFoundException":{
  1616        "type":"structure",
  1617        "members":{
  1618          "message":{"shape":"ExceptionMessage"}
  1619        },
  1620        "exception":true
  1621      },
  1622      "RegistryPolicyText":{
  1623        "type":"string",
  1624        "max":10240,
  1625        "min":0
  1626      },
  1627      "ReplicationConfiguration":{
  1628        "type":"structure",
  1629        "required":["rules"],
  1630        "members":{
  1631          "rules":{"shape":"ReplicationRuleList"}
  1632        }
  1633      },
  1634      "ReplicationDestination":{
  1635        "type":"structure",
  1636        "required":[
  1637          "region",
  1638          "registryId"
  1639        ],
  1640        "members":{
  1641          "region":{"shape":"Region"},
  1642          "registryId":{"shape":"RegistryId"}
  1643        }
  1644      },
  1645      "ReplicationDestinationList":{
  1646        "type":"list",
  1647        "member":{"shape":"ReplicationDestination"},
  1648        "max":25,
  1649        "min":0
  1650      },
  1651      "ReplicationError":{"type":"string"},
  1652      "ReplicationRule":{
  1653        "type":"structure",
  1654        "required":["destinations"],
  1655        "members":{
  1656          "destinations":{"shape":"ReplicationDestinationList"},
  1657          "repositoryFilters":{"shape":"RepositoryFilterList"}
  1658        }
  1659      },
  1660      "ReplicationRuleList":{
  1661        "type":"list",
  1662        "member":{"shape":"ReplicationRule"},
  1663        "max":10,
  1664        "min":0
  1665      },
  1666      "ReplicationStatus":{
  1667        "type":"string",
  1668        "enum":[
  1669          "IN_PROGRESS",
  1670          "COMPLETE",
  1671          "FAILED"
  1672        ]
  1673      },
  1674      "Repository":{
  1675        "type":"structure",
  1676        "members":{
  1677          "repositoryArn":{"shape":"Arn"},
  1678          "registryId":{"shape":"RegistryId"},
  1679          "repositoryName":{"shape":"RepositoryName"},
  1680          "repositoryUri":{"shape":"Url"},
  1681          "createdAt":{"shape":"CreationTimestamp"},
  1682          "imageTagMutability":{"shape":"ImageTagMutability"},
  1683          "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"},
  1684          "encryptionConfiguration":{"shape":"EncryptionConfiguration"}
  1685        }
  1686      },
  1687      "RepositoryAlreadyExistsException":{
  1688        "type":"structure",
  1689        "members":{
  1690          "message":{"shape":"ExceptionMessage"}
  1691        },
  1692        "exception":true
  1693      },
  1694      "RepositoryFilter":{
  1695        "type":"structure",
  1696        "required":[
  1697          "filter",
  1698          "filterType"
  1699        ],
  1700        "members":{
  1701          "filter":{"shape":"RepositoryFilterValue"},
  1702          "filterType":{"shape":"RepositoryFilterType"}
  1703        }
  1704      },
  1705      "RepositoryFilterList":{
  1706        "type":"list",
  1707        "member":{"shape":"RepositoryFilter"},
  1708        "max":100,
  1709        "min":1
  1710      },
  1711      "RepositoryFilterType":{
  1712        "type":"string",
  1713        "enum":["PREFIX_MATCH"]
  1714      },
  1715      "RepositoryFilterValue":{
  1716        "type":"string",
  1717        "max":256,
  1718        "min":2,
  1719        "pattern":"^(?:[a-z0-9]+(?:[._-][a-z0-9]*)*/)*[a-z0-9]*(?:[._-][a-z0-9]*)*$"
  1720      },
  1721      "RepositoryList":{
  1722        "type":"list",
  1723        "member":{"shape":"Repository"}
  1724      },
  1725      "RepositoryName":{
  1726        "type":"string",
  1727        "max":256,
  1728        "min":2,
  1729        "pattern":"(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*"
  1730      },
  1731      "RepositoryNameList":{
  1732        "type":"list",
  1733        "member":{"shape":"RepositoryName"},
  1734        "max":100,
  1735        "min":1
  1736      },
  1737      "RepositoryNotEmptyException":{
  1738        "type":"structure",
  1739        "members":{
  1740          "message":{"shape":"ExceptionMessage"}
  1741        },
  1742        "exception":true
  1743      },
  1744      "RepositoryNotFoundException":{
  1745        "type":"structure",
  1746        "members":{
  1747          "message":{"shape":"ExceptionMessage"}
  1748        },
  1749        "exception":true
  1750      },
  1751      "RepositoryPolicyNotFoundException":{
  1752        "type":"structure",
  1753        "members":{
  1754          "message":{"shape":"ExceptionMessage"}
  1755        },
  1756        "exception":true
  1757      },
  1758      "RepositoryPolicyText":{
  1759        "type":"string",
  1760        "max":10240,
  1761        "min":0
  1762      },
  1763      "ScanNotFoundException":{
  1764        "type":"structure",
  1765        "members":{
  1766          "message":{"shape":"ExceptionMessage"}
  1767        },
  1768        "exception":true
  1769      },
  1770      "ScanOnPushFlag":{"type":"boolean"},
  1771      "ScanStatus":{
  1772        "type":"string",
  1773        "enum":[
  1774          "IN_PROGRESS",
  1775          "COMPLETE",
  1776          "FAILED"
  1777        ]
  1778      },
  1779      "ScanStatusDescription":{"type":"string"},
  1780      "ScanTimestamp":{"type":"timestamp"},
  1781      "ServerException":{
  1782        "type":"structure",
  1783        "members":{
  1784          "message":{"shape":"ExceptionMessage"}
  1785        },
  1786        "exception":true,
  1787        "fault":true
  1788      },
  1789      "SetRepositoryPolicyRequest":{
  1790        "type":"structure",
  1791        "required":[
  1792          "repositoryName",
  1793          "policyText"
  1794        ],
  1795        "members":{
  1796          "registryId":{"shape":"RegistryId"},
  1797          "repositoryName":{"shape":"RepositoryName"},
  1798          "policyText":{"shape":"RepositoryPolicyText"},
  1799          "force":{"shape":"ForceFlag"}
  1800        }
  1801      },
  1802      "SetRepositoryPolicyResponse":{
  1803        "type":"structure",
  1804        "members":{
  1805          "registryId":{"shape":"RegistryId"},
  1806          "repositoryName":{"shape":"RepositoryName"},
  1807          "policyText":{"shape":"RepositoryPolicyText"}
  1808        }
  1809      },
  1810      "SeverityCount":{
  1811        "type":"integer",
  1812        "min":0
  1813      },
  1814      "StartImageScanRequest":{
  1815        "type":"structure",
  1816        "required":[
  1817          "repositoryName",
  1818          "imageId"
  1819        ],
  1820        "members":{
  1821          "registryId":{"shape":"RegistryId"},
  1822          "repositoryName":{"shape":"RepositoryName"},
  1823          "imageId":{"shape":"ImageIdentifier"}
  1824        }
  1825      },
  1826      "StartImageScanResponse":{
  1827        "type":"structure",
  1828        "members":{
  1829          "registryId":{"shape":"RegistryId"},
  1830          "repositoryName":{"shape":"RepositoryName"},
  1831          "imageId":{"shape":"ImageIdentifier"},
  1832          "imageScanStatus":{"shape":"ImageScanStatus"}
  1833        }
  1834      },
  1835      "StartLifecyclePolicyPreviewRequest":{
  1836        "type":"structure",
  1837        "required":["repositoryName"],
  1838        "members":{
  1839          "registryId":{"shape":"RegistryId"},
  1840          "repositoryName":{"shape":"RepositoryName"},
  1841          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"}
  1842        }
  1843      },
  1844      "StartLifecyclePolicyPreviewResponse":{
  1845        "type":"structure",
  1846        "members":{
  1847          "registryId":{"shape":"RegistryId"},
  1848          "repositoryName":{"shape":"RepositoryName"},
  1849          "lifecyclePolicyText":{"shape":"LifecyclePolicyText"},
  1850          "status":{"shape":"LifecyclePolicyPreviewStatus"}
  1851        }
  1852      },
  1853      "Tag":{
  1854        "type":"structure",
  1855        "members":{
  1856          "Key":{"shape":"TagKey"},
  1857          "Value":{"shape":"TagValue"}
  1858        }
  1859      },
  1860      "TagKey":{"type":"string"},
  1861      "TagKeyList":{
  1862        "type":"list",
  1863        "member":{"shape":"TagKey"}
  1864      },
  1865      "TagList":{
  1866        "type":"list",
  1867        "member":{"shape":"Tag"}
  1868      },
  1869      "TagResourceRequest":{
  1870        "type":"structure",
  1871        "required":[
  1872          "resourceArn",
  1873          "tags"
  1874        ],
  1875        "members":{
  1876          "resourceArn":{"shape":"Arn"},
  1877          "tags":{"shape":"TagList"}
  1878        }
  1879      },
  1880      "TagResourceResponse":{
  1881        "type":"structure",
  1882        "members":{
  1883        }
  1884      },
  1885      "TagStatus":{
  1886        "type":"string",
  1887        "enum":[
  1888          "TAGGED",
  1889          "UNTAGGED",
  1890          "ANY"
  1891        ]
  1892      },
  1893      "TagValue":{"type":"string"},
  1894      "TooManyTagsException":{
  1895        "type":"structure",
  1896        "members":{
  1897          "message":{"shape":"ExceptionMessage"}
  1898        },
  1899        "exception":true
  1900      },
  1901      "UnsupportedImageTypeException":{
  1902        "type":"structure",
  1903        "members":{
  1904          "message":{"shape":"ExceptionMessage"}
  1905        },
  1906        "exception":true
  1907      },
  1908      "UntagResourceRequest":{
  1909        "type":"structure",
  1910        "required":[
  1911          "resourceArn",
  1912          "tagKeys"
  1913        ],
  1914        "members":{
  1915          "resourceArn":{"shape":"Arn"},
  1916          "tagKeys":{"shape":"TagKeyList"}
  1917        }
  1918      },
  1919      "UntagResourceResponse":{
  1920        "type":"structure",
  1921        "members":{
  1922        }
  1923      },
  1924      "UploadId":{
  1925        "type":"string",
  1926        "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
  1927      },
  1928      "UploadLayerPartRequest":{
  1929        "type":"structure",
  1930        "required":[
  1931          "repositoryName",
  1932          "uploadId",
  1933          "partFirstByte",
  1934          "partLastByte",
  1935          "layerPartBlob"
  1936        ],
  1937        "members":{
  1938          "registryId":{"shape":"RegistryId"},
  1939          "repositoryName":{"shape":"RepositoryName"},
  1940          "uploadId":{"shape":"UploadId"},
  1941          "partFirstByte":{"shape":"PartSize"},
  1942          "partLastByte":{"shape":"PartSize"},
  1943          "layerPartBlob":{"shape":"LayerPartBlob"}
  1944        }
  1945      },
  1946      "UploadLayerPartResponse":{
  1947        "type":"structure",
  1948        "members":{
  1949          "registryId":{"shape":"RegistryId"},
  1950          "repositoryName":{"shape":"RepositoryName"},
  1951          "uploadId":{"shape":"UploadId"},
  1952          "lastByteReceived":{"shape":"PartSize"}
  1953        }
  1954      },
  1955      "UploadNotFoundException":{
  1956        "type":"structure",
  1957        "members":{
  1958          "message":{"shape":"ExceptionMessage"}
  1959        },
  1960        "exception":true
  1961      },
  1962      "Url":{"type":"string"},
  1963      "ValidationException":{
  1964        "type":"structure",
  1965        "members":{
  1966          "message":{"shape":"ExceptionMessage"}
  1967        },
  1968        "exception":true
  1969      },
  1970      "VulnerabilitySourceUpdateTimestamp":{"type":"timestamp"}
  1971    }
  1972  }