# Copyright (c) 2012-2025, Mark Peek # 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 class RepositoryCatalogData(AWSProperty): """ `RepositoryCatalogData `__ """ props: PropsDictType = { "AboutText": (str, False), "Architectures": ([str], False), "OperatingSystems": ([str], False), "RepositoryDescription": (str, False), "UsageText": (str, False), } class PublicRepository(AWSObject): """ `PublicRepository `__ """ resource_type = "AWS::ECR::PublicRepository" props: PropsDictType = { "RepositoryCatalogData": (RepositoryCatalogData, False), "RepositoryName": (str, False), "RepositoryPolicyText": (policytypes, False), "Tags": (Tags, False), } class PullThroughCacheRule(AWSObject): """ `PullThroughCacheRule `__ """ resource_type = "AWS::ECR::PullThroughCacheRule" props: PropsDictType = { "CredentialArn": (str, False), "CustomRoleArn": (str, False), "EcrRepositoryPrefix": (str, False), "UpstreamRegistry": (str, False), "UpstreamRegistryUrl": (str, False), "UpstreamRepositoryPrefix": (str, False), } class PullTimeUpdateExclusion(AWSObject): """ `PullTimeUpdateExclusion `__ """ resource_type = "AWS::ECR::PullTimeUpdateExclusion" props: PropsDictType = { "PrincipalArn": (str, True), } class RegistryPolicy(AWSObject): """ `RegistryPolicy `__ """ resource_type = "AWS::ECR::RegistryPolicy" props: PropsDictType = { "PolicyText": (policytypes, True), } class RepositoryFilter(AWSProperty): """ `RepositoryFilter `__ """ props: PropsDictType = { "Filter": (str, True), "FilterType": (str, True), } class ScanningRule(AWSProperty): """ `ScanningRule `__ """ props: PropsDictType = { "RepositoryFilters": ([RepositoryFilter], True), "ScanFrequency": (str, True), } class RegistryScanningConfiguration(AWSObject): """ `RegistryScanningConfiguration `__ """ resource_type = "AWS::ECR::RegistryScanningConfiguration" props: PropsDictType = { "Rules": ([ScanningRule], True), "ScanType": (str, True), } class ReplicationDestination(AWSProperty): """ `ReplicationDestination `__ """ props: PropsDictType = { "Region": (str, True), "RegistryId": (str, True), } class ReplicationRule(AWSProperty): """ `ReplicationRule `__ """ props: PropsDictType = { "Destinations": ([ReplicationDestination], True), "RepositoryFilters": ([RepositoryFilter], False), } class ReplicationConfigurationProperty(AWSProperty): """ `ReplicationConfigurationProperty `__ """ props: PropsDictType = { "Rules": ([ReplicationRule], True), } class ReplicationConfiguration(AWSObject): """ `ReplicationConfiguration `__ """ resource_type = "AWS::ECR::ReplicationConfiguration" props: PropsDictType = { "ReplicationConfiguration": (ReplicationConfigurationProperty, True), } class EncryptionConfiguration(AWSProperty): """ `EncryptionConfiguration `__ """ props: PropsDictType = { "EncryptionType": (str, True), "KmsKey": (str, False), } class ImageScanningConfiguration(AWSProperty): """ `ImageScanningConfiguration `__ """ props: PropsDictType = { "ScanOnPush": (boolean, False), } class ImageTagMutabilityExclusionFilter(AWSProperty): """ `ImageTagMutabilityExclusionFilter `__ """ props: PropsDictType = { "ImageTagMutabilityExclusionFilterType": (str, True), "ImageTagMutabilityExclusionFilterValue": (str, True), } class LifecyclePolicy(AWSProperty): """ `LifecyclePolicy `__ """ props: PropsDictType = { "LifecyclePolicyText": (str, False), "RegistryId": (str, False), } class Repository(AWSObject): """ `Repository `__ """ resource_type = "AWS::ECR::Repository" props: PropsDictType = { "EmptyOnDelete": (boolean, False), "EncryptionConfiguration": (EncryptionConfiguration, False), "ImageScanningConfiguration": (ImageScanningConfiguration, False), "ImageTagMutability": (str, False), "ImageTagMutabilityExclusionFilters": ( [ImageTagMutabilityExclusionFilter], False, ), "LifecyclePolicy": (LifecyclePolicy, False), "RepositoryName": (str, False), "RepositoryPolicyText": (policytypes, False), "Tags": (Tags, False), } class RepositoryCreationTemplate(AWSObject): """ `RepositoryCreationTemplate `__ """ resource_type = "AWS::ECR::RepositoryCreationTemplate" props: PropsDictType = { "AppliedFor": ([str], True), "CustomRoleArn": (str, False), "Description": (str, False), "EncryptionConfiguration": (EncryptionConfiguration, False), "ImageTagMutability": (str, False), "ImageTagMutabilityExclusionFilters": ( [ImageTagMutabilityExclusionFilter], False, ), "LifecyclePolicy": (str, False), "Prefix": (str, True), "RepositoryPolicy": (str, False), "ResourceTags": (Tags, False), } class Rule(AWSProperty): """ `Rule `__ """ props: PropsDictType = { "RepositoryFilters": ([RepositoryFilter], False), "SigningProfileArn": (str, True), } class SigningConfiguration(AWSObject): """ `SigningConfiguration `__ """ resource_type = "AWS::ECR::SigningConfiguration" props: PropsDictType = { "Rules": ([Rule], True), }