# Copyright (c) 2012-2022, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean
from .validators.ecr import policytypes
[docs]class RepositoryCatalogData(AWSProperty):
"""
`RepositoryCatalogData <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-publicrepository-repositorycatalogdata.html>`__
"""
props: PropsDictType = {
"AboutText": (str, False),
"Architectures": ([str], False),
"OperatingSystems": ([str], False),
"RepositoryDescription": (str, False),
"UsageText": (str, False),
}
[docs]class PublicRepository(AWSObject):
"""
`PublicRepository <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html>`__
"""
resource_type = "AWS::ECR::PublicRepository"
props: PropsDictType = {
"RepositoryCatalogData": (RepositoryCatalogData, False),
"RepositoryName": (str, False),
"RepositoryPolicyText": (policytypes, False),
"Tags": (Tags, False),
}
[docs]class PullThroughCacheRule(AWSObject):
"""
`PullThroughCacheRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html>`__
"""
resource_type = "AWS::ECR::PullThroughCacheRule"
props: PropsDictType = {
"CredentialArn": (str, False),
"EcrRepositoryPrefix": (str, False),
"UpstreamRegistry": (str, False),
"UpstreamRegistryUrl": (str, False),
}
[docs]class RegistryPolicy(AWSObject):
"""
`RegistryPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html>`__
"""
resource_type = "AWS::ECR::RegistryPolicy"
props: PropsDictType = {
"PolicyText": (policytypes, True),
}
[docs]class ReplicationDestination(AWSProperty):
"""
`ReplicationDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html>`__
"""
props: PropsDictType = {
"Region": (str, True),
"RegistryId": (str, True),
}
[docs]class RepositoryFilter(AWSProperty):
"""
`RepositoryFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-repositoryfilter.html>`__
"""
props: PropsDictType = {
"Filter": (str, True),
"FilterType": (str, True),
}
[docs]class ReplicationRule(AWSProperty):
"""
`ReplicationRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html>`__
"""
props: PropsDictType = {
"Destinations": ([ReplicationDestination], True),
"RepositoryFilters": ([RepositoryFilter], False),
}
[docs]class ReplicationConfigurationProperty(AWSProperty):
"""
`ReplicationConfigurationProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html>`__
"""
props: PropsDictType = {
"Rules": ([ReplicationRule], True),
}
[docs]class ReplicationConfiguration(AWSObject):
"""
`ReplicationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html>`__
"""
resource_type = "AWS::ECR::ReplicationConfiguration"
props: PropsDictType = {
"ReplicationConfiguration": (ReplicationConfigurationProperty, True),
}
[docs]class EncryptionConfiguration(AWSProperty):
"""
`EncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html>`__
"""
props: PropsDictType = {
"EncryptionType": (str, True),
"KmsKey": (str, False),
}
[docs]class ImageScanningConfiguration(AWSProperty):
"""
`ImageScanningConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-imagescanningconfiguration.html>`__
"""
props: PropsDictType = {
"ScanOnPush": (boolean, False),
}
[docs]class LifecyclePolicy(AWSProperty):
"""
`LifecyclePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html>`__
"""
props: PropsDictType = {
"LifecyclePolicyText": (str, False),
"RegistryId": (str, False),
}
[docs]class Repository(AWSObject):
"""
`Repository <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html>`__
"""
resource_type = "AWS::ECR::Repository"
props: PropsDictType = {
"EmptyOnDelete": (boolean, False),
"EncryptionConfiguration": (EncryptionConfiguration, False),
"ImageScanningConfiguration": (ImageScanningConfiguration, False),
"ImageTagMutability": (str, False),
"LifecyclePolicy": (LifecyclePolicy, False),
"RepositoryName": (str, False),
"RepositoryPolicyText": (policytypes, False),
"Tags": (Tags, False),
}
[docs]class RepositoryCreationTemplate(AWSObject):
"""
`RepositoryCreationTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html>`__
"""
resource_type = "AWS::ECR::RepositoryCreationTemplate"
props: PropsDictType = {
"AppliedFor": ([str], True),
"Description": (str, False),
"EncryptionConfiguration": (EncryptionConfiguration, False),
"ImageTagMutability": (str, False),
"LifecyclePolicy": (str, False),
"Prefix": (str, True),
"RepositoryPolicy": (str, False),
"ResourceTags": (Tags, False),
}