diff --git a/troposphere/appstream.py b/troposphere/appstream.py index 4e6131144..d71d2f91e 100644 --- a/troposphere/appstream.py +++ b/troposphere/appstream.py @@ -218,7 +218,8 @@ class ComputeCapacity(AWSProperty): """ props: PropsDictType = { - "DesiredInstances": (integer, True), + "DesiredInstances": (integer, False), + "DesiredSessions": (integer, False), } @@ -254,6 +255,7 @@ class Fleet(AWSObject): "ImageName": (str, False), "InstanceType": (str, True), "MaxConcurrentSessions": (integer, False), + "MaxSessionsPerInstance": (integer, False), "MaxUserDurationInSeconds": (integer, False), "Name": (str, True), "Platform": (str, False), diff --git a/troposphere/cleanrooms.py b/troposphere/cleanrooms.py index 31628f00e..163bf6088 100644 --- a/troposphere/cleanrooms.py +++ b/troposphere/cleanrooms.py @@ -10,6 +10,46 @@ from .validators import boolean, double +class AnalysisParameter(AWSProperty): + """ + `AnalysisParameter `__ + """ + + props: PropsDictType = { + "DefaultValue": (str, False), + "Name": (str, True), + "Type": (str, True), + } + + +class AnalysisSource(AWSProperty): + """ + `AnalysisSource `__ + """ + + props: PropsDictType = { + "Text": (str, True), + } + + +class AnalysisTemplate(AWSObject): + """ + `AnalysisTemplate `__ + """ + + resource_type = "AWS::CleanRooms::AnalysisTemplate" + + props: PropsDictType = { + "AnalysisParameters": ([AnalysisParameter], False), + "Description": (str, False), + "Format": (str, True), + "MembershipIdentifier": (str, True), + "Name": (str, True), + "Source": (AnalysisSource, True), + "Tags": (Tags, False), + } + + class DataEncryptionMetadata(AWSProperty): """ `DataEncryptionMetadata `__ @@ -217,3 +257,13 @@ class Membership(AWSObject): "QueryLogStatus": (str, True), "Tags": (Tags, False), } + + +class AnalysisSchema(AWSProperty): + """ + `AnalysisSchema `__ + """ + + props: PropsDictType = { + "ReferencedTables": ([str], True), + } diff --git a/troposphere/datasync.py b/troposphere/datasync.py index 513bc494e..9bca4d9c5 100644 --- a/troposphere/datasync.py +++ b/troposphere/datasync.py @@ -427,6 +427,95 @@ class Options(AWSProperty): } +class S3(AWSProperty): + """ + `S3 `__ + """ + + props: PropsDictType = { + "BucketAccessRoleArn": (str, False), + "S3BucketArn": (str, False), + "Subdirectory": (str, False), + } + + +class Destination(AWSProperty): + """ + `Destination `__ + """ + + props: PropsDictType = { + "S3": (S3, False), + } + + +class Deleted(AWSProperty): + """ + `Deleted `__ + """ + + props: PropsDictType = { + "ReportLevel": (str, False), + } + + +class Skipped(AWSProperty): + """ + `Skipped `__ + """ + + props: PropsDictType = { + "ReportLevel": (str, False), + } + + +class Transferred(AWSProperty): + """ + `Transferred `__ + """ + + props: PropsDictType = { + "ReportLevel": (str, False), + } + + +class Verified(AWSProperty): + """ + `Verified `__ + """ + + props: PropsDictType = { + "ReportLevel": (str, False), + } + + +class Overrides(AWSProperty): + """ + `Overrides `__ + """ + + props: PropsDictType = { + "Deleted": (Deleted, False), + "Skipped": (Skipped, False), + "Transferred": (Transferred, False), + "Verified": (Verified, False), + } + + +class TaskReportConfig(AWSProperty): + """ + `TaskReportConfig `__ + """ + + props: PropsDictType = { + "Destination": (Destination, True), + "ObjectVersionIds": (str, False), + "OutputType": (str, True), + "Overrides": (Overrides, False), + "ReportLevel": (str, False), + } + + class TaskSchedule(AWSProperty): """ `TaskSchedule `__ @@ -454,6 +543,7 @@ class Task(AWSObject): "Schedule": (TaskSchedule, False), "SourceLocationArn": (str, True), "Tags": (Tags, False), + "TaskReportConfig": (TaskReportConfig, False), } diff --git a/troposphere/ec2.py b/troposphere/ec2.py index 1689d0df4..ff1eeb3fd 100644 --- a/troposphere/ec2.py +++ b/troposphere/ec2.py @@ -612,14 +612,13 @@ class EIP(AWSObject): class EIPAssociation(AWSObject): """ - `EIPAssociation `__ + `EIPAssociation `__ """ resource_type = "AWS::EC2::EIPAssociation" props: PropsDictType = { "AllocationId": (str, False), - "EIP": (str, False), "InstanceId": (str, False), "NetworkInterfaceId": (str, False), "PrivateIpAddress": (str, False), diff --git a/troposphere/lakeformation.py b/troposphere/lakeformation.py index adb4654a5..9c7be22a5 100644 --- a/troposphere/lakeformation.py +++ b/troposphere/lakeformation.py @@ -69,10 +69,12 @@ class DataLakeSettings(AWSObject): props: PropsDictType = { "Admins": ([DataLakePrincipal], False), "AllowExternalDataFiltering": (boolean, False), + "AllowFullTableExternalDataAccess": (boolean, False), "AuthorizedSessionTagValueList": ([str], False), "CreateDatabaseDefaultPermissions": ([], False), "CreateTableDefaultPermissions": ([], False), "ExternalDataFilteringAllowList": ([], False), + "MutationType": (str, False), "Parameters": (dict, False), "TrustedResourceOwners": ([str], False), } diff --git a/troposphere/medialive.py b/troposphere/medialive.py index b358c28e0..6aa025b45 100644 --- a/troposphere/medialive.py +++ b/troposphere/medialive.py @@ -44,6 +44,7 @@ class Ac3Settings(AWSProperty): """ props: PropsDictType = { + "AttenuationControl": (str, False), "Bitrate": (double, False), "BitstreamMode": (str, False), "CodingMode": (str, False), @@ -806,6 +807,8 @@ class M3u8Settings(AWSProperty): "AudioFramesPerPes": (integer, False), "AudioPids": (str, False), "EcmPid": (str, False), + "KlvBehavior": (str, False), + "KlvDataPids": (str, False), "NielsenId3Behavior": (str, False), "PatInterval": (integer, False), "PcrControl": (str, False), @@ -1264,6 +1267,7 @@ class RtmpGroupSettings(AWSProperty): "CacheFullBehavior": (str, False), "CacheLength": (integer, False), "CaptionData": (str, False), + "IncludeFillerNalUnits": (str, False), "InputLossAction": (str, False), "RestartDelay": (integer, False), } @@ -1310,6 +1314,16 @@ class OutputGroup(AWSProperty): } +class ThumbnailConfiguration(AWSProperty): + """ + `ThumbnailConfiguration `__ + """ + + props: PropsDictType = { + "State": (str, False), + } + + class TimecodeConfig(AWSProperty): """ `TimecodeConfig `__ @@ -1616,6 +1630,7 @@ class EncoderSettings(AWSProperty): "MotionGraphicsConfiguration": (MotionGraphicsConfiguration, False), "NielsenConfiguration": (NielsenConfiguration, False), "OutputGroups": ([OutputGroup], False), + "ThumbnailConfiguration": (ThumbnailConfiguration, False), "TimecodeConfig": (TimecodeConfig, False), "VideoDescriptions": ([VideoDescription], False), } diff --git a/troposphere/quicksight.py b/troposphere/quicksight.py index 7c05c0d15..a89ce7d2f 100644 --- a/troposphere/quicksight.py +++ b/troposphere/quicksight.py @@ -716,6 +716,7 @@ class FilterScopeConfiguration(AWSProperty): """ props: PropsDictType = { + "AllSheets": (dict, False), "SelectedSheets": (SelectedSheetsFilterScopeConfiguration, False), } @@ -961,6 +962,17 @@ class LabelOptions(AWSProperty): } +class SheetControlInfoIconLabelOptions(AWSProperty): + """ + `SheetControlInfoIconLabelOptions `__ + """ + + props: PropsDictType = { + "InfoIconText": (str, False), + "Visibility": (str, False), + } + + class DateTimePickerControlDisplayOptions(AWSProperty): """ `DateTimePickerControlDisplayOptions `__ @@ -968,6 +980,7 @@ class DateTimePickerControlDisplayOptions(AWSProperty): props: PropsDictType = { "DateTimeFormat": (str, False), + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "TitleOptions": (LabelOptions, False), } @@ -1023,6 +1036,7 @@ class DropDownControlDisplayOptions(AWSProperty): """ props: PropsDictType = { + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "SelectAllOptions": (ListControlSelectAllOptions, False), "TitleOptions": (LabelOptions, False), } @@ -1070,6 +1084,7 @@ class ListControlDisplayOptions(AWSProperty): """ props: PropsDictType = { + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "SearchOptions": (ListControlSearchOptions, False), "SelectAllOptions": (ListControlSelectAllOptions, False), "TitleOptions": (LabelOptions, False), @@ -1099,6 +1114,7 @@ class RelativeDateTimeControlDisplayOptions(AWSProperty): props: PropsDictType = { "DateTimeFormat": (str, False), + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "TitleOptions": (LabelOptions, False), } @@ -1122,6 +1138,7 @@ class SliderControlDisplayOptions(AWSProperty): """ props: PropsDictType = { + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "TitleOptions": (LabelOptions, False), } @@ -1159,6 +1176,7 @@ class TextAreaControlDisplayOptions(AWSProperty): """ props: PropsDictType = { + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "PlaceholderOptions": (TextControlPlaceholderOptions, False), "TitleOptions": (LabelOptions, False), } @@ -1184,6 +1202,7 @@ class TextFieldControlDisplayOptions(AWSProperty): """ props: PropsDictType = { + "InfoIconLabelOptions": (SheetControlInfoIconLabelOptions, False), "PlaceholderOptions": (TextControlPlaceholderOptions, False), "TitleOptions": (LabelOptions, False), } @@ -2207,6 +2226,17 @@ class PanelConfiguration(AWSProperty): } +class SmallMultiplesAxisProperties(AWSProperty): + """ + `SmallMultiplesAxisProperties `__ + """ + + props: PropsDictType = { + "Placement": (str, False), + "Scale": (str, False), + } + + class SmallMultiplesOptions(AWSProperty): """ `SmallMultiplesOptions `__ @@ -2216,6 +2246,8 @@ class SmallMultiplesOptions(AWSProperty): "MaxVisibleColumns": (double, False), "MaxVisibleRows": (double, False), "PanelConfiguration": (PanelConfiguration, False), + "XAxis": (SmallMultiplesAxisProperties, False), + "YAxis": (SmallMultiplesAxisProperties, False), } @@ -3671,7 +3703,7 @@ class ForecastComputation(AWSProperty): "PeriodsForward": (double, False), "PredictionInterval": (double, False), "Seasonality": (str, False), - "Time": (DimensionField, True), + "Time": (DimensionField, False), "UpperBoundary": (double, False), "Value": (MeasureField, False), } @@ -3686,7 +3718,7 @@ class GrowthRateComputation(AWSProperty): "ComputationId": (str, True), "Name": (str, False), "PeriodSize": (double, False), - "Time": (DimensionField, True), + "Time": (DimensionField, False), "Value": (MeasureField, False), } @@ -3699,7 +3731,7 @@ class MaximumMinimumComputation(AWSProperty): props: PropsDictType = { "ComputationId": (str, True), "Name": (str, False), - "Time": (DimensionField, True), + "Time": (DimensionField, False), "Type": (str, True), "Value": (MeasureField, False), } @@ -3712,10 +3744,10 @@ class MetricComparisonComputation(AWSProperty): props: PropsDictType = { "ComputationId": (str, True), - "FromValue": (MeasureField, True), + "FromValue": (MeasureField, False), "Name": (str, False), - "TargetValue": (MeasureField, True), - "Time": (DimensionField, True), + "TargetValue": (MeasureField, False), + "Time": (DimensionField, False), } @@ -3727,7 +3759,7 @@ class PeriodOverPeriodComputation(AWSProperty): props: PropsDictType = { "ComputationId": (str, True), "Name": (str, False), - "Time": (DimensionField, True), + "Time": (DimensionField, False), "Value": (MeasureField, False), } @@ -3741,7 +3773,7 @@ class PeriodToDateComputation(AWSProperty): "ComputationId": (str, True), "Name": (str, False), "PeriodTimeGranularity": (str, False), - "Time": (DimensionField, True), + "Time": (DimensionField, False), "Value": (MeasureField, False), } @@ -3752,12 +3784,12 @@ class TopBottomMoversComputation(AWSProperty): """ props: PropsDictType = { - "Category": (DimensionField, True), + "Category": (DimensionField, False), "ComputationId": (str, True), "MoverSize": (double, False), "Name": (str, False), "SortOrder": (str, False), - "Time": (DimensionField, True), + "Time": (DimensionField, False), "Type": (str, True), "Value": (MeasureField, False), } @@ -3769,7 +3801,7 @@ class TopBottomRankedComputation(AWSProperty): """ props: PropsDictType = { - "Category": (DimensionField, True), + "Category": (DimensionField, False), "ComputationId": (str, True), "Name": (str, False), "ResultSize": (double, False), @@ -3786,7 +3818,7 @@ class TotalAggregationComputation(AWSProperty): props: PropsDictType = { "ComputationId": (str, True), "Name": (str, False), - "Value": (MeasureField, True), + "Value": (MeasureField, False), } @@ -3796,7 +3828,7 @@ class UniqueValuesComputation(AWSProperty): """ props: PropsDictType = { - "Category": (DimensionField, True), + "Category": (DimensionField, False), "ComputationId": (str, True), "Name": (str, False), } @@ -4479,6 +4511,17 @@ class PivotTableFieldWells(AWSProperty): } +class PivotTableRowsLabelOptions(AWSProperty): + """ + `PivotTableRowsLabelOptions `__ + """ + + props: PropsDictType = { + "CustomLabel": (str, False), + "Visibility": (str, False), + } + + class RowAlternateColorOptions(AWSProperty): """ `RowAlternateColorOptions `__ @@ -4487,6 +4530,7 @@ class RowAlternateColorOptions(AWSProperty): props: PropsDictType = { "RowAlternateColors": ([str], False), "Status": (str, False), + "UsePrimaryBackgroundColor": (str, False), } @@ -4555,10 +4599,13 @@ class PivotTableOptions(AWSProperty): "CollapsedRowDimensionsVisibility": (str, False), "ColumnHeaderStyle": (TableCellStyle, False), "ColumnNamesVisibility": (str, False), + "DefaultCellWidth": (str, False), "MetricPlacement": (str, False), "RowAlternateColorOptions": (RowAlternateColorOptions, False), "RowFieldNamesStyle": (TableCellStyle, False), "RowHeaderStyle": (TableCellStyle, False), + "RowsLabelOptions": (PivotTableRowsLabelOptions, False), + "RowsLayout": (str, False), "SingleMetricVisibility": (str, False), "ToggleButtonsVisibility": (str, False), } @@ -4645,6 +4692,16 @@ class PivotTableFieldSubtotalOptions(AWSProperty): } +class TableStyleTarget(AWSProperty): + """ + `TableStyleTarget `__ + """ + + props: PropsDictType = { + "CellType": (str, True), + } + + class SubtotalOptions(AWSProperty): """ `SubtotalOptions `__ @@ -4655,6 +4712,7 @@ class SubtotalOptions(AWSProperty): "FieldLevel": (str, False), "FieldLevelOptions": ([PivotTableFieldSubtotalOptions], False), "MetricHeaderCellStyle": (TableCellStyle, False), + "StyleTargets": ([TableStyleTarget], False), "TotalCellStyle": (TableCellStyle, False), "TotalsVisibility": (str, False), "ValueCellStyle": (TableCellStyle, False), diff --git a/troposphere/ram.py b/troposphere/ram.py index d1241a4c2..1002bc02e 100644 --- a/troposphere/ram.py +++ b/troposphere/ram.py @@ -38,5 +38,6 @@ class ResourceShare(AWSObject): "PermissionArns": ([str], False), "Principals": ([str], False), "ResourceArns": ([str], False), + "Sources": ([str], False), "Tags": (Tags, False), } diff --git a/troposphere/rolesanywhere.py b/troposphere/rolesanywhere.py index a58896bae..9e2902969 100644 --- a/troposphere/rolesanywhere.py +++ b/troposphere/rolesanywhere.py @@ -45,6 +45,19 @@ class Profile(AWSObject): } +class NotificationSetting(AWSProperty): + """ + `NotificationSetting `__ + """ + + props: PropsDictType = { + "Channel": (str, False), + "Enabled": (boolean, True), + "Event": (str, True), + "Threshold": (double, False), + } + + class SourceData(AWSProperty): """ `SourceData `__ @@ -77,6 +90,7 @@ class TrustAnchor(AWSObject): props: PropsDictType = { "Enabled": (boolean, False), "Name": (str, True), + "NotificationSettings": ([NotificationSetting], False), "Source": (Source, True), "Tags": (Tags, False), }