Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c1590b5

Browse files
committed
Auto-generate ECR
1 parent f286aed commit c1590b5

3 files changed

Lines changed: 88 additions & 8 deletions

File tree

scripts/patches/ecr.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
patches = [
2+
# Rename AWS::ECR::ReplicationConfiguration.ReplicationConfiguration to AWS::ECR::ReplicationConfiguration.ReplicationConfigurationProperty
3+
{
4+
"op": "move",
5+
"from": "/PropertyTypes/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration",
6+
"path": "/PropertyTypes/AWS::ECR::ReplicationConfiguration.ReplicationConfigurationProperty",
7+
},
8+
{
9+
"op": "replace",
10+
"path": "/ResourceTypes/AWS::ECR::ReplicationConfiguration/Properties/ReplicationConfiguration/Type",
11+
"value": "ReplicationConfigurationProperty",
12+
},
13+
# backward compatibility
14+
{
15+
"op": "move",
16+
"from": "/ResourceTypes/AWS::ECR::ReplicationConfiguration/Properties/ReplicationConfiguration",
17+
"path": "/ResourceTypes/AWS::ECR::ReplicationConfiguration/Properties/ReplicationConfigurationProperty",
18+
},
19+
]

troposphere/ecr.py

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,19 @@
44
# See LICENSE file for full license.
55
#
66
# *** Do not modify - this file is autogenerated ***
7-
# Resource specification version: 31.0.0
7+
# Resource specification version: 51.0.0
88

99

1010
from . import AWSObject, AWSProperty, Tags
11-
from .compat import policytypes
11+
from .validators import boolean
12+
from .validators.ecr import policytypes
1213

1314

1415
class PublicRepository(AWSObject):
16+
"""
17+
`PublicRepository <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html>`__
18+
"""
19+
1520
resource_type = "AWS::ECR::PublicRepository"
1621

1722
props = {
@@ -23,6 +28,10 @@ class PublicRepository(AWSObject):
2328

2429

2530
class RegistryPolicy(AWSObject):
31+
"""
32+
`RegistryPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html>`__
33+
"""
34+
2635
resource_type = "AWS::ECR::RegistryPolicy"
2736

2837
props = {
@@ -31,33 +40,53 @@ class RegistryPolicy(AWSObject):
3140

3241

3342
class ReplicationDestination(AWSProperty):
43+
"""
44+
`ReplicationDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html>`__
45+
"""
46+
3447
props = {
3548
"Region": (str, True),
3649
"RegistryId": (str, True),
3750
}
3851

3952

4053
class RepositoryFilter(AWSProperty):
54+
"""
55+
`RepositoryFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-repositoryfilter.html>`__
56+
"""
57+
4158
props = {
4259
"Filter": (str, True),
4360
"FilterType": (str, True),
4461
}
4562

4663

4764
class ReplicationRule(AWSProperty):
65+
"""
66+
`ReplicationRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html>`__
67+
"""
68+
4869
props = {
4970
"Destinations": ([ReplicationDestination], True),
50-
"RepositoryFilters": ([RepositoryFilter], True),
71+
"RepositoryFilters": ([RepositoryFilter], False),
5172
}
5273

5374

5475
class ReplicationConfigurationProperty(AWSProperty):
76+
"""
77+
`ReplicationConfigurationProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html>`__
78+
"""
79+
5580
props = {
5681
"Rules": ([ReplicationRule], True),
5782
}
5883

5984

6085
class ReplicationConfiguration(AWSObject):
86+
"""
87+
`ReplicationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html>`__
88+
"""
89+
6190
resource_type = "AWS::ECR::ReplicationConfiguration"
6291

6392
props = {
@@ -66,26 +95,42 @@ class ReplicationConfiguration(AWSObject):
6695

6796

6897
class EncryptionConfiguration(AWSProperty):
98+
"""
99+
`EncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html>`__
100+
"""
101+
69102
props = {
70103
"EncryptionType": (str, True),
71104
"KmsKey": (str, False),
72105
}
73106

74107

75-
class LifecyclePolicy(AWSProperty):
108+
class ImageScanningConfiguration(AWSProperty):
109+
"""
110+
`ImageScanningConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-imagescanningconfiguration.html>`__
111+
"""
112+
76113
props = {
77-
"LifecyclePolicyText": (str, False),
78-
"RegistryId": (str, False),
114+
"ScanOnPush": (boolean, False),
79115
}
80116

81117

82-
class ImageScanningConfiguration(AWSProperty):
118+
class LifecyclePolicy(AWSProperty):
119+
"""
120+
`LifecyclePolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html>`__
121+
"""
122+
83123
props = {
84-
"ScanOnPush": (bool, False),
124+
"LifecyclePolicyText": (str, False),
125+
"RegistryId": (str, False),
85126
}
86127

87128

88129
class Repository(AWSObject):
130+
"""
131+
`Repository <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html>`__
132+
"""
133+
89134
resource_type = "AWS::ECR::Repository"
90135

91136
props = {

troposphere/validators/ecr.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright (c) 2012-2021, Mark Peek <[email protected]>
2+
# All rights reserved.
3+
#
4+
# See LICENSE file for full license.
5+
6+
7+
from ..compat import validate_policytype
8+
9+
10+
def policytypes(policy):
11+
"""
12+
Property: PublicRepository.RepositoryPolicyText
13+
Property: RegistryPolicy.PolicyText
14+
Property: Repository.RepositoryPolicyText
15+
"""
16+
return validate_policytype(policy)

0 commit comments

Comments
 (0)