Source code for troposphere.ecr

# Copyright (c) 2012-2025, 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), "CustomRoleArn": (str, False), "EcrRepositoryPrefix": (str, False), "UpstreamRegistry": (str, False), "UpstreamRegistryUrl": (str, False), "UpstreamRepositoryPrefix": (str, False), }
[docs]class PullTimeUpdateExclusion(AWSObject): """ `PullTimeUpdateExclusion <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pulltimeupdateexclusion.html>`__ """ resource_type = "AWS::ECR::PullTimeUpdateExclusion" props: PropsDictType = { "PrincipalArn": (str, True), }
[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 RepositoryFilter(AWSProperty): """ `RepositoryFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-signingconfiguration-repositoryfilter.html>`__ """ props: PropsDictType = { "Filter": (str, True), "FilterType": (str, True), }
[docs]class ScanningRule(AWSProperty): """ `ScanningRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-registryscanningconfiguration-scanningrule.html>`__ """ props: PropsDictType = { "RepositoryFilters": ([RepositoryFilter], True), "ScanFrequency": (str, True), }
[docs]class RegistryScanningConfiguration(AWSObject): """ `RegistryScanningConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registryscanningconfiguration.html>`__ """ resource_type = "AWS::ECR::RegistryScanningConfiguration" props: PropsDictType = { "Rules": ([ScanningRule], True), "ScanType": (str, 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 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 ImageTagMutabilityExclusionFilter(AWSProperty): """ `ImageTagMutabilityExclusionFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-imagetagmutabilityexclusionfilter.html>`__ """ props: PropsDictType = { "ImageTagMutabilityExclusionFilterType": (str, True), "ImageTagMutabilityExclusionFilterValue": (str, True), }
[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), "ImageTagMutabilityExclusionFilters": ( [ImageTagMutabilityExclusionFilter], 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), "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), }
[docs]class Rule(AWSProperty): """ `Rule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-signingconfiguration-rule.html>`__ """ props: PropsDictType = { "RepositoryFilters": ([RepositoryFilter], False), "SigningProfileArn": (str, True), }
[docs]class SigningConfiguration(AWSObject): """ `SigningConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-signingconfiguration.html>`__ """ resource_type = "AWS::ECR::SigningConfiguration" props: PropsDictType = { "Rules": ([Rule], True), }