createRepository method
- required String repositoryName,
- EncryptionConfiguration? encryptionConfiguration,
- ImageScanningConfiguration? imageScanningConfiguration,
- ImageTagMutability? imageTagMutability,
- List<
Tag> ? tags,
Creates a repository. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide.
May throw ServerException. May throw InvalidParameterException. May throw InvalidTagParameterException. May throw TooManyTagsException. May throw RepositoryAlreadyExistsException. May throw LimitExceededException. May throw KmsException.
Parameter repositoryName
:
The name to use for the repository. The repository name may be specified
on its own (such as nginx-web-app
) or it can be prepended
with a namespace to group the repository into a category (such as
project-a/nginx-web-app
).
Parameter encryptionConfiguration
:
The encryption configuration for the repository. This determines how the
contents of your repository are encrypted at rest.
Parameter imageScanningConfiguration
:
The image scanning configuration for the repository. This determines
whether images are scanned for known vulnerabilities after being pushed to
the repository.
Parameter imageTagMutability
:
The tag mutability setting for the repository. If this parameter is
omitted, the default setting of MUTABLE
will be used which
will allow image tags to be overwritten. If IMMUTABLE
is
specified, all image tags within the repository will be immutable which
will prevent them from being overwritten.
Parameter tags
:
The metadata that you apply to the repository to help you categorize and
organize them. Each tag consists of a key and an optional value, both of
which you define. Tag keys can have a maximum character length of 128
characters, and tag values can have a maximum length of 256 characters.
Implementation
Future<CreateRepositoryResponse> createRepository({
required String repositoryName,
EncryptionConfiguration? encryptionConfiguration,
ImageScanningConfiguration? imageScanningConfiguration,
ImageTagMutability? imageTagMutability,
List<Tag>? tags,
}) async {
ArgumentError.checkNotNull(repositoryName, 'repositoryName');
_s.validateStringLength(
'repositoryName',
repositoryName,
2,
256,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.CreateRepository'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'repositoryName': repositoryName,
if (encryptionConfiguration != null)
'encryptionConfiguration': encryptionConfiguration,
if (imageScanningConfiguration != null)
'imageScanningConfiguration': imageScanningConfiguration,
if (imageTagMutability != null)
'imageTagMutability': imageTagMutability.toValue(),
if (tags != null) 'tags': tags,
},
);
return CreateRepositoryResponse.fromJson(jsonResponse.body);
}