77
88
99from . import AWSObject , AWSProperty , PropsDictType , Tags
10- from .validators import boolean , double
10+ from .validators import boolean , double , integer
1111from .validators .backup import (
1212 backup_vault_name ,
1313 validate_backup_selection ,
@@ -103,13 +103,37 @@ class ConditionResourceType(AWSProperty):
103103 }
104104
105105
106+ class ConditionParameter (AWSProperty ):
107+ """
108+ `ConditionParameter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditionparameter.html>`__
109+ """
110+
111+ props : PropsDictType = {
112+ "ConditionKey" : (str , False ),
113+ "ConditionValue" : (str , False ),
114+ }
115+
116+
117+ class Conditions (AWSProperty ):
118+ """
119+ `Conditions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditions.html>`__
120+ """
121+
122+ props : PropsDictType = {
123+ "StringEquals" : ([ConditionParameter ], False ),
124+ "StringLike" : ([ConditionParameter ], False ),
125+ "StringNotEquals" : ([ConditionParameter ], False ),
126+ "StringNotLike" : ([ConditionParameter ], False ),
127+ }
128+
129+
106130class BackupSelectionResourceType (AWSProperty ):
107131 """
108132 `BackupSelectionResourceType <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html>`__
109133 """
110134
111135 props : PropsDictType = {
112- "Conditions" : (dict , False ),
136+ "Conditions" : (Conditions , False ),
113137 "IamRoleArn" : (str , True ),
114138 "ListOfTags" : ([ConditionResourceType ], False ),
115139 "NotResources" : ([str ], False ),
@@ -140,9 +164,9 @@ class LockConfigurationType(AWSProperty):
140164 """
141165
142166 props : PropsDictType = {
143- "ChangeableForDays" : (double , False ),
144- "MaxRetentionDays" : (double , False ),
145- "MinRetentionDays" : (double , True ),
167+ "ChangeableForDays" : (integer , False ),
168+ "MaxRetentionDays" : (integer , False ),
169+ "MinRetentionDays" : (integer , True ),
146170 }
147171
148172
@@ -185,6 +209,18 @@ class ControlInputParameter(AWSProperty):
185209 }
186210
187211
212+ class ControlScope (AWSProperty ):
213+ """
214+ `ControlScope <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-framework-controlscope.html>`__
215+ """
216+
217+ props : PropsDictType = {
218+ "ComplianceResourceIds" : ([str ], False ),
219+ "ComplianceResourceTypes" : ([str ], False ),
220+ "Tags" : (Tags , False ),
221+ }
222+
223+
188224class FrameworkControl (AWSProperty ):
189225 """
190226 `FrameworkControl <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-framework-frameworkcontrol.html>`__
@@ -193,7 +229,7 @@ class FrameworkControl(AWSProperty):
193229 props : PropsDictType = {
194230 "ControlInputParameters" : ([ControlInputParameter ], False ),
195231 "ControlName" : (str , True ),
196- "ControlScope" : (dict , False ),
232+ "ControlScope" : (ControlScope , False ),
197233 }
198234
199235
@@ -212,6 +248,32 @@ class Framework(AWSObject):
212248 }
213249
214250
251+ class ReportDeliveryChannel (AWSProperty ):
252+ """
253+ `ReportDeliveryChannel <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-reportplan-reportdeliverychannel.html>`__
254+ """
255+
256+ props : PropsDictType = {
257+ "Formats" : ([str ], False ),
258+ "S3BucketName" : (str , True ),
259+ "S3KeyPrefix" : (str , False ),
260+ }
261+
262+
263+ class ReportSetting (AWSProperty ):
264+ """
265+ `ReportSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-reportplan-reportsetting.html>`__
266+ """
267+
268+ props : PropsDictType = {
269+ "Accounts" : ([str ], False ),
270+ "FrameworkArns" : ([str ], False ),
271+ "OrganizationUnits" : ([str ], False ),
272+ "Regions" : ([str ], False ),
273+ "ReportTemplate" : (str , True ),
274+ }
275+
276+
215277class ReportPlan (AWSObject ):
216278 """
217279 `ReportPlan <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html>`__
@@ -220,9 +282,9 @@ class ReportPlan(AWSObject):
220282 resource_type = "AWS::Backup::ReportPlan"
221283
222284 props : PropsDictType = {
223- "ReportDeliveryChannel" : (dict , True ),
285+ "ReportDeliveryChannel" : (ReportDeliveryChannel , True ),
224286 "ReportPlanDescription" : (str , False ),
225287 "ReportPlanName" : (str , False ),
226288 "ReportPlanTags" : (Tags , False ),
227- "ReportSetting" : (dict , True ),
289+ "ReportSetting" : (ReportSetting , True ),
228290 }
0 commit comments