From b445b98435cfe11115b2bf9c5faa5d6b0af98430 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 14:50:45 -0800 Subject: [PATCH] Updates from spec version 164.0.0 (#2229) --- troposphere/batch.py | 82 +++++++++++++++++++++++++++++++++++--- troposphere/iotsitewise.py | 41 ++++++++++++++++--- troposphere/wafv2.py | 12 ++++++ 3 files changed, 124 insertions(+), 11 deletions(-) diff --git a/troposphere/batch.py b/troposphere/batch.py index c09c35acd..f4fd28bb7 100644 --- a/troposphere/batch.py +++ b/troposphere/batch.py @@ -126,7 +126,7 @@ class Environment(AWSProperty): class EphemeralStorage(AWSProperty): """ - `EphemeralStorage `__ + `EphemeralStorage `__ """ props: PropsDictType = { @@ -170,7 +170,7 @@ class Tmpfs(AWSProperty): class LinuxParameters(AWSProperty): """ - `LinuxParameters `__ + `LinuxParameters `__ """ props: PropsDictType = { @@ -196,7 +196,7 @@ class Secret(AWSProperty): class LogConfiguration(AWSProperty): """ - `LogConfiguration `__ + `LogConfiguration `__ """ props: PropsDictType = { @@ -220,7 +220,7 @@ class MountPoints(AWSProperty): class NetworkConfiguration(AWSProperty): """ - `NetworkConfiguration `__ + `NetworkConfiguration `__ """ props: PropsDictType = { @@ -230,7 +230,7 @@ class NetworkConfiguration(AWSProperty): class RepositoryCredentials(AWSProperty): """ - `RepositoryCredentials `__ + `RepositoryCredentials `__ """ props: PropsDictType = { @@ -251,7 +251,7 @@ class ResourceRequirement(AWSProperty): class RuntimePlatform(AWSProperty): """ - `RuntimePlatform `__ + `RuntimePlatform `__ """ props: PropsDictType = { @@ -351,6 +351,71 @@ class ContainerProperties(AWSProperty): } +class TaskContainerDependency(AWSProperty): + """ + `TaskContainerDependency `__ + """ + + props: PropsDictType = { + "Condition": (str, True), + "ContainerName": (str, True), + } + + +class TaskContainerProperties(AWSProperty): + """ + `TaskContainerProperties `__ + """ + + props: PropsDictType = { + "Command": ([str], False), + "DependsOn": ([TaskContainerDependency], False), + "Environment": ([Environment], False), + "Essential": (boolean, False), + "Image": (str, True), + "LinuxParameters": (LinuxParameters, False), + "LogConfiguration": (LogConfiguration, False), + "MountPoints": ([MountPoints], False), + "Name": (str, False), + "Privileged": (boolean, False), + "ReadonlyRootFilesystem": (boolean, False), + "RepositoryCredentials": (RepositoryCredentials, False), + "ResourceRequirements": ([ResourceRequirement], False), + "Secrets": ([Secret], False), + "Ulimits": ([Ulimit], False), + "User": (str, False), + } + + +class EcsTaskProperties(AWSProperty): + """ + `EcsTaskProperties `__ + """ + + props: PropsDictType = { + "Containers": ([TaskContainerProperties], False), + "EphemeralStorage": (EphemeralStorage, False), + "ExecutionRoleArn": (str, False), + "IpcMode": (str, False), + "NetworkConfiguration": (NetworkConfiguration, False), + "PidMode": (str, False), + "PlatformVersion": (str, False), + "RuntimePlatform": (RuntimePlatform, False), + "TaskRoleArn": (str, False), + "Volumes": ([Volumes], False), + } + + +class EcsProperties(AWSProperty): + """ + `EcsProperties `__ + """ + + props: PropsDictType = { + "TaskProperties": ([EcsTaskProperties], True), + } + + class EksContainerEnvironmentVariable(AWSProperty): """ `EksContainerEnvironmentVariable `__ @@ -481,8 +546,10 @@ class PodProperties(AWSProperty): "Containers": ([EksContainer], False), "DnsPolicy": (str, False), "HostNetwork": (boolean, False), + "InitContainers": ([EksContainer], False), "Metadata": (Metadata, False), "ServiceAccountName": (str, False), + "ShareProcessNamespace": (boolean, False), "Volumes": ([EksVolume], False), } @@ -504,6 +571,8 @@ class NodeRangeProperty(AWSProperty): props: PropsDictType = { "Container": (ContainerProperties, False), + "EcsProperties": (EcsProperties, False), + "InstanceTypes": ([str], False), "TargetNodes": (str, True), } @@ -563,6 +632,7 @@ class JobDefinition(AWSObject): props: PropsDictType = { "ContainerProperties": (ContainerProperties, False), + "EcsProperties": (EcsProperties, False), "EksProperties": (EksProperties, False), "JobDefinitionName": (str, False), "NodeProperties": (NodeProperties, False), diff --git a/troposphere/iotsitewise.py b/troposphere/iotsitewise.py index 69cc35f7c..5f236fa03 100644 --- a/troposphere/iotsitewise.py +++ b/troposphere/iotsitewise.py @@ -103,7 +103,9 @@ class AssetHierarchy(AWSProperty): props: PropsDictType = { "ChildAssetId": (str, True), - "LogicalId": (str, True), + "ExternalId": (str, False), + "Id": (str, False), + "LogicalId": (str, False), } @@ -114,7 +116,9 @@ class AssetProperty(AWSProperty): props: PropsDictType = { "Alias": (str, False), - "LogicalId": (str, True), + "ExternalId": (str, False), + "Id": (str, False), + "LogicalId": (str, False), "NotificationState": (str, False), "Unit": (str, False), } @@ -129,6 +133,7 @@ class Asset(AWSObject): props: PropsDictType = { "AssetDescription": (str, False), + "AssetExternalId": (str, False), "AssetHierarchies": ([AssetHierarchy], False), "AssetModelId": (str, True), "AssetName": (str, True), @@ -147,14 +152,29 @@ class Attribute(AWSProperty): } +class PropertyPathDefinition(AWSProperty): + """ + `PropertyPathDefinition `__ + """ + + props: PropsDictType = { + "Name": (str, True), + } + + class VariableValue(AWSProperty): """ `VariableValue `__ """ props: PropsDictType = { + "HierarchyExternalId": (str, False), + "HierarchyId": (str, False), "HierarchyLogicalId": (str, False), - "PropertyLogicalId": (str, True), + "PropertyExternalId": (str, False), + "PropertyId": (str, False), + "PropertyLogicalId": (str, False), + "PropertyPath": ([PropertyPathDefinition], False), } @@ -234,7 +254,9 @@ class AssetModelProperty(AWSProperty): props: PropsDictType = { "DataType": (str, True), "DataTypeSpec": (str, False), - "LogicalId": (str, True), + "ExternalId": (str, False), + "Id": (str, False), + "LogicalId": (str, False), "Name": (str, True), "Type": (PropertyType, True), "Unit": (str, False), @@ -247,9 +269,14 @@ class AssetModelCompositeModel(AWSProperty): """ props: PropsDictType = { + "ComposedAssetModelId": (str, False), "CompositeModelProperties": ([AssetModelProperty], False), "Description": (str, False), + "ExternalId": (str, False), + "Id": (str, False), "Name": (str, True), + "ParentAssetModelCompositeModelExternalId": (str, False), + "Path": ([str], False), "Type": (str, True), } @@ -261,7 +288,9 @@ class AssetModelHierarchy(AWSProperty): props: PropsDictType = { "ChildAssetModelId": (str, True), - "LogicalId": (str, True), + "ExternalId": (str, False), + "Id": (str, False), + "LogicalId": (str, False), "Name": (str, True), } @@ -276,9 +305,11 @@ class AssetModel(AWSObject): props: PropsDictType = { "AssetModelCompositeModels": ([AssetModelCompositeModel], False), "AssetModelDescription": (str, False), + "AssetModelExternalId": (str, False), "AssetModelHierarchies": ([AssetModelHierarchy], False), "AssetModelName": (str, True), "AssetModelProperties": ([AssetModelProperty], False), + "AssetModelType": (str, False), "Tags": (Tags, False), } diff --git a/troposphere/wafv2.py b/troposphere/wafv2.py index 6d3416212..11570cfcc 100644 --- a/troposphere/wafv2.py +++ b/troposphere/wafv2.py @@ -372,6 +372,16 @@ class Headers(AWSProperty): } +class JA3Fingerprint(AWSProperty): + """ + `JA3Fingerprint `__ + """ + + props: PropsDictType = { + "FallbackBehavior": (str, True), + } + + class JsonMatchPattern(AWSProperty): """ `JsonMatchPattern `__ @@ -416,6 +426,7 @@ class FieldToMatch(AWSProperty): "Body": (Body, False), "Cookies": (Cookies, False), "Headers": (Headers, False), + "JA3Fingerprint": (JA3Fingerprint, False), "JsonBody": (JsonBody, False), "Method": (dict, False), "QueryString": (dict, False), @@ -802,6 +813,7 @@ class RateBasedStatement(AWSProperty): props: PropsDictType = { "AggregateKeyType": (str, True), "CustomKeys": ([RateBasedStatementCustomKey], False), + "EvaluationWindowSec": (integer, False), "ForwardedIPConfig": (ForwardedIPConfiguration, False), "Limit": (integer, True), "ScopeDownStatement": (validate_statement, False),