From d39028aa09e80171b75f3d434f5878449f4cef2e Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Fri, 16 Apr 2021 00:11:05 +0000 Subject: [PATCH] fix(schema): CloudFormation Updates --- cloudformation/all.go | 50 ++ cloudformation/ce/aws-ce-costcategory.go | 5 + ...formation-stackset_operationpreferences.go | 5 + cloudformation/dms/aws-dms-endpoint.go | 5 + .../dms/aws-dms-replicationinstance.go | 5 + cloudformation/dms/aws-dms-replicationtask.go | 5 + cloudformation/dynamodb/aws-dynamodb-table.go | 5 + ...c2-enclavecertificateiamroleassociation.go | 111 ++++ cloudformation/efs/aws-efs-filesystem.go | 5 + .../aws-elasticache-parametergroup.go | 6 + .../aws-elasticache-securitygroup.go | 6 + .../aws-elasticache-subnetgroup.go | 6 + cloudformation/gamelift/aws-gamelift-fleet.go | 19 +- .../aws-gamelift-fleet_ippermission.go | 10 +- .../aws-imagebuilder-containerrecipe.go | 5 + ...ipe_ebsinstanceblockdevicespecification.go | 65 ++ ...tainerrecipe_instanceblockdevicemapping.go | 50 ++ ...r-containerrecipe_instanceconfiguration.go | 40 ++ ...-distributionconfiguration_distribution.go | 5 + ...nfiguration_launchtemplateconfiguration.go | 45 ++ cloudformation/iot/aws-iot-topicrule.go | 6 + .../iot/aws-iot-topicrule_action.go | 15 + .../aws-iot-topicrule_cloudwatchlogsaction.go | 40 ++ .../iot/aws-iot-topicrule_firehoseaction.go | 5 + .../aws-iot-topicrule_iotanalyticsaction.go | 5 + .../iot/aws-iot-topicrule_ioteventsaction.go | 5 + .../iot/aws-iot-topicrule_kafkaaction.go | 55 ++ .../iot/aws-iot-topicrule_timestreamaction.go | 55 ++ .../aws-iot-topicrule_timestreamdimension.go | 40 ++ ...-iot-topicrule_timestreamdimensionslist.go | 35 + .../aws-iot-topicrule_timestreamtimestamp.go | 40 ++ .../iot/aws-iot-topicrule_topicrulepayload.go | 4 +- .../iotevents/aws-iotevents-detectormodel.go | 4 +- ...ts-detectormodel_assetpropertytimestamp.go | 2 +- ...events-detectormodel_assetpropertyvalue.go | 2 +- .../aws-iotevents-detectormodel_cleartimer.go | 2 +- ...s-detectormodel_detectormodeldefinition.go | 4 +- .../aws-iotevents-detectormodel_dynamodb.go | 6 +- .../aws-iotevents-detectormodel_dynamodbv2.go | 2 +- .../aws-iotevents-detectormodel_event.go | 2 +- .../aws-iotevents-detectormodel_firehose.go | 2 +- .../aws-iotevents-detectormodel_iotevents.go | 2 +- ...aws-iotevents-detectormodel_iotsitewise.go | 2 +- ...iotevents-detectormodel_iottopicpublish.go | 2 +- .../aws-iotevents-detectormodel_lambda.go | 2 +- .../aws-iotevents-detectormodel_payload.go | 4 +- .../aws-iotevents-detectormodel_resettimer.go | 2 +- .../aws-iotevents-detectormodel_settimer.go | 2 +- ...aws-iotevents-detectormodel_setvariable.go | 4 +- .../aws-iotevents-detectormodel_sns.go | 2 +- .../aws-iotevents-detectormodel_sqs.go | 2 +- .../aws-iotevents-detectormodel_state.go | 2 +- ...iotevents-detectormodel_transitionevent.go | 6 +- .../iotevents/aws-iotevents-input.go | 2 +- .../aws-iotevents-input_attribute.go | 2 +- .../aws-iotevents-input_inputdefinition.go | 2 +- cloudformation/ivs/aws-ivs-channel.go | 5 + .../ivs/aws-ivs-recordingconfiguration.go | 117 ++++ ...gconfiguration_destinationconfiguration.go | 35 + ...onfiguration_s3destinationconfiguration.go | 35 + .../aws-medialive-channel_encodersettings.go | 5 + ...live-channel_htmlmotiongraphicssettings.go | 30 + ...ive-channel_motiongraphicsconfiguration.go | 40 ++ ...edialive-channel_motiongraphicssettings.go | 35 + .../aws-medialive-channel_videoselector.go | 5 + ...channel_videoselectorcolorspacesettings.go | 35 + cloudformation/mwaa/aws-mwaa-environment.go | 7 +- schema/cloudformation.go | 605 +++++++++++++++++- schema/cloudformation.schema.json | 605 +++++++++++++++++- schema/sam.go | 605 +++++++++++++++++- schema/sam.schema.json | 605 +++++++++++++++++- 71 files changed, 3430 insertions(+), 161 deletions(-) create mode 100644 cloudformation/ec2/aws-ec2-enclavecertificateiamroleassociation.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_ebsinstanceblockdevicespecification.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceblockdevicemapping.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceconfiguration.go create mode 100644 cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_launchtemplateconfiguration.go create mode 100644 cloudformation/iot/aws-iot-topicrule_cloudwatchlogsaction.go create mode 100644 cloudformation/iot/aws-iot-topicrule_kafkaaction.go create mode 100644 cloudformation/iot/aws-iot-topicrule_timestreamaction.go create mode 100644 cloudformation/iot/aws-iot-topicrule_timestreamdimension.go create mode 100644 cloudformation/iot/aws-iot-topicrule_timestreamdimensionslist.go create mode 100644 cloudformation/iot/aws-iot-topicrule_timestreamtimestamp.go create mode 100644 cloudformation/ivs/aws-ivs-recordingconfiguration.go create mode 100644 cloudformation/ivs/aws-ivs-recordingconfiguration_destinationconfiguration.go create mode 100644 cloudformation/ivs/aws-ivs-recordingconfiguration_s3destinationconfiguration.go create mode 100644 cloudformation/medialive/aws-medialive-channel_htmlmotiongraphicssettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_motiongraphicsconfiguration.go create mode 100644 cloudformation/medialive/aws-medialive-channel_motiongraphicssettings.go create mode 100644 cloudformation/medialive/aws-medialive-channel_videoselectorcolorspacesettings.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 0df13b88ff..efb12dd723 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -375,6 +375,7 @@ func AllResources() map[string]Resource { "AWS::EC2::EIP": &ec2.EIP{}, "AWS::EC2::EIPAssociation": &ec2.EIPAssociation{}, "AWS::EC2::EgressOnlyInternetGateway": &ec2.EgressOnlyInternetGateway{}, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": &ec2.EnclaveCertificateIamRoleAssociation{}, "AWS::EC2::FlowLog": &ec2.FlowLog{}, "AWS::EC2::GatewayRouteTableAssociation": &ec2.GatewayRouteTableAssociation{}, "AWS::EC2::Host": &ec2.Host{}, @@ -562,6 +563,7 @@ func AllResources() map[string]Resource { "AWS::IAM::VirtualMFADevice": &iam.VirtualMFADevice{}, "AWS::IVS::Channel": &ivs.Channel{}, "AWS::IVS::PlaybackKeyPair": &ivs.PlaybackKeyPair{}, + "AWS::IVS::RecordingConfiguration": &ivs.RecordingConfiguration{}, "AWS::IVS::StreamKey": &ivs.StreamKey{}, "AWS::ImageBuilder::Component": &imagebuilder.Component{}, "AWS::ImageBuilder::ContainerRecipe": &imagebuilder.ContainerRecipe{}, @@ -6083,6 +6085,30 @@ func (t *Template) GetEC2EgressOnlyInternetGatewayWithName(name string) (*ec2.Eg return nil, fmt.Errorf("resource %q of type ec2.EgressOnlyInternetGateway not found", name) } +// GetAllEC2EnclaveCertificateIamRoleAssociationResources retrieves all ec2.EnclaveCertificateIamRoleAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEC2EnclaveCertificateIamRoleAssociationResources() map[string]*ec2.EnclaveCertificateIamRoleAssociation { + results := map[string]*ec2.EnclaveCertificateIamRoleAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.EnclaveCertificateIamRoleAssociation: + results[name] = resource + } + } + return results +} + +// GetEC2EnclaveCertificateIamRoleAssociationWithName retrieves all ec2.EnclaveCertificateIamRoleAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2EnclaveCertificateIamRoleAssociationWithName(name string) (*ec2.EnclaveCertificateIamRoleAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.EnclaveCertificateIamRoleAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.EnclaveCertificateIamRoleAssociation not found", name) +} + // GetAllEC2FlowLogResources retrieves all ec2.FlowLog items from an AWS CloudFormation template func (t *Template) GetAllEC2FlowLogResources() map[string]*ec2.FlowLog { results := map[string]*ec2.FlowLog{} @@ -10571,6 +10597,30 @@ func (t *Template) GetIVSPlaybackKeyPairWithName(name string) (*ivs.PlaybackKeyP return nil, fmt.Errorf("resource %q of type ivs.PlaybackKeyPair not found", name) } +// GetAllIVSRecordingConfigurationResources retrieves all ivs.RecordingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllIVSRecordingConfigurationResources() map[string]*ivs.RecordingConfiguration { + results := map[string]*ivs.RecordingConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ivs.RecordingConfiguration: + results[name] = resource + } + } + return results +} + +// GetIVSRecordingConfigurationWithName retrieves all ivs.RecordingConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIVSRecordingConfigurationWithName(name string) (*ivs.RecordingConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ivs.RecordingConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ivs.RecordingConfiguration not found", name) +} + // GetAllIVSStreamKeyResources retrieves all ivs.StreamKey items from an AWS CloudFormation template func (t *Template) GetAllIVSStreamKeyResources() map[string]*ivs.StreamKey { results := map[string]*ivs.StreamKey{} diff --git a/cloudformation/ce/aws-ce-costcategory.go b/cloudformation/ce/aws-ce-costcategory.go index 86f161ee12..d27832138b 100644 --- a/cloudformation/ce/aws-ce-costcategory.go +++ b/cloudformation/ce/aws-ce-costcategory.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html type CostCategory struct { + // DefaultValue AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-defaultvalue + DefaultValue string `json:"DefaultValue,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name diff --git a/cloudformation/cloudformation/aws-cloudformation-stackset_operationpreferences.go b/cloudformation/cloudformation/aws-cloudformation-stackset_operationpreferences.go index 22df20224e..cd7a47237b 100644 --- a/cloudformation/cloudformation/aws-cloudformation-stackset_operationpreferences.go +++ b/cloudformation/cloudformation/aws-cloudformation-stackset_operationpreferences.go @@ -28,6 +28,11 @@ type StackSet_OperationPreferences struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-maxconcurrentpercentage MaxConcurrentPercentage int `json:"MaxConcurrentPercentage,omitempty"` + // RegionConcurrencyType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-regionconcurrencytype + RegionConcurrencyType string `json:"RegionConcurrencyType,omitempty"` + // RegionOrder AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-regionorder diff --git a/cloudformation/dms/aws-dms-endpoint.go b/cloudformation/dms/aws-dms-endpoint.go index 66b5e77987..10736b3229 100644 --- a/cloudformation/dms/aws-dms-endpoint.go +++ b/cloudformation/dms/aws-dms-endpoint.go @@ -123,6 +123,11 @@ type Endpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-redshiftsettings RedshiftSettings *Endpoint_RedshiftSettings `json:"RedshiftSettings,omitempty"` + // ResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-resourceidentifier + ResourceIdentifier string `json:"ResourceIdentifier,omitempty"` + // S3Settings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-s3settings diff --git a/cloudformation/dms/aws-dms-replicationinstance.go b/cloudformation/dms/aws-dms-replicationinstance.go index 7ea4d1ca78..ce822a618a 100644 --- a/cloudformation/dms/aws-dms-replicationinstance.go +++ b/cloudformation/dms/aws-dms-replicationinstance.go @@ -73,6 +73,11 @@ type ReplicationInstance struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationsubnetgroupidentifier ReplicationSubnetGroupIdentifier string `json:"ReplicationSubnetGroupIdentifier,omitempty"` + // ResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-resourceidentifier + ResourceIdentifier string `json:"ResourceIdentifier,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-tags diff --git a/cloudformation/dms/aws-dms-replicationtask.go b/cloudformation/dms/aws-dms-replicationtask.go index d1c0bbe7c2..feda3f8dbb 100644 --- a/cloudformation/dms/aws-dms-replicationtask.go +++ b/cloudformation/dms/aws-dms-replicationtask.go @@ -48,6 +48,11 @@ type ReplicationTask struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-replicationtasksettings ReplicationTaskSettings string `json:"ReplicationTaskSettings,omitempty"` + // ResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-resourceidentifier + ResourceIdentifier string `json:"ResourceIdentifier,omitempty"` + // SourceEndpointArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-sourceendpointarn diff --git a/cloudformation/dynamodb/aws-dynamodb-table.go b/cloudformation/dynamodb/aws-dynamodb-table.go index 71003aa90c..c5493eb631 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table.go +++ b/cloudformation/dynamodb/aws-dynamodb-table.go @@ -38,6 +38,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema KeySchema []Table_KeySchema `json:"KeySchema,omitempty"` + // KinesisStreamSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-kinesisstreamspecification + KinesisStreamSpecification *Table_KinesisStreamSpecification `json:"KinesisStreamSpecification,omitempty"` + // LocalSecondaryIndexes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-lsi diff --git a/cloudformation/ec2/aws-ec2-enclavecertificateiamroleassociation.go b/cloudformation/ec2/aws-ec2-enclavecertificateiamroleassociation.go new file mode 100644 index 0000000000..0a2da3ada5 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-enclavecertificateiamroleassociation.go @@ -0,0 +1,111 @@ +package ec2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// EnclaveCertificateIamRoleAssociation AWS CloudFormation Resource (AWS::EC2::EnclaveCertificateIamRoleAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html +type EnclaveCertificateIamRoleAssociation struct { + + // CertificateArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html#cfn-ec2-enclavecertificateiamroleassociation-certificatearn + CertificateArn string `json:"CertificateArn,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html#cfn-ec2-enclavecertificateiamroleassociation-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EnclaveCertificateIamRoleAssociation) AWSCloudFormationType() string { + return "AWS::EC2::EnclaveCertificateIamRoleAssociation" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r EnclaveCertificateIamRoleAssociation) MarshalJSON() ([]byte, error) { + type Properties EnclaveCertificateIamRoleAssociation + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *EnclaveCertificateIamRoleAssociation) UnmarshalJSON(b []byte) error { + type Properties EnclaveCertificateIamRoleAssociation + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = EnclaveCertificateIamRoleAssociation(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/efs/aws-efs-filesystem.go b/cloudformation/efs/aws-efs-filesystem.go index b1775cfc43..ff31c149fc 100644 --- a/cloudformation/efs/aws-efs-filesystem.go +++ b/cloudformation/efs/aws-efs-filesystem.go @@ -22,6 +22,11 @@ type FileSystem struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-backuppolicy BackupPolicy *FileSystem_BackupPolicy `json:"BackupPolicy,omitempty"` + // BypassPolicyLockoutSafetyCheck AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-bypasspolicylockoutsafetycheck + BypassPolicyLockoutSafetyCheck bool `json:"BypassPolicyLockoutSafetyCheck,omitempty"` + // Encrypted AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-encrypted diff --git a/cloudformation/elasticache/aws-elasticache-parametergroup.go b/cloudformation/elasticache/aws-elasticache-parametergroup.go index 3033ab53f0..4279705583 100644 --- a/cloudformation/elasticache/aws-elasticache-parametergroup.go +++ b/cloudformation/elasticache/aws-elasticache-parametergroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // ParameterGroup AWS CloudFormation Resource (AWS::ElastiCache::ParameterGroup) @@ -27,6 +28,11 @@ type ParameterGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html#cfn-elasticache-parametergroup-properties Properties map[string]string `json:"Properties,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html#cfn-elasticache-parametergroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/elasticache/aws-elasticache-securitygroup.go b/cloudformation/elasticache/aws-elasticache-securitygroup.go index e639cbf52d..ecc4a95813 100644 --- a/cloudformation/elasticache/aws-elasticache-securitygroup.go +++ b/cloudformation/elasticache/aws-elasticache-securitygroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // SecurityGroup AWS CloudFormation Resource (AWS::ElastiCache::SecurityGroup) @@ -17,6 +18,11 @@ type SecurityGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html#cfn-elasticache-securitygroup-description Description string `json:"Description,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html#cfn-elasticache-securitygroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/elasticache/aws-elasticache-subnetgroup.go b/cloudformation/elasticache/aws-elasticache-subnetgroup.go index 3a0a6e4089..209d99c2bb 100644 --- a/cloudformation/elasticache/aws-elasticache-subnetgroup.go +++ b/cloudformation/elasticache/aws-elasticache-subnetgroup.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // SubnetGroup AWS CloudFormation Resource (AWS::ElastiCache::SubnetGroup) @@ -27,6 +28,11 @@ type SubnetGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-subnetids SubnetIds []string `json:"SubnetIds,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet.go b/cloudformation/gamelift/aws-gamelift-fleet.go index cf46095ca1..16fe6ffbe7 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet.go +++ b/cloudformation/gamelift/aws-gamelift-fleet.go @@ -38,7 +38,7 @@ type Fleet struct { EC2InboundPermissions []Fleet_IpPermission `json:"EC2InboundPermissions,omitempty"` // EC2InstanceType AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2instancetype EC2InstanceType string `json:"EC2InstanceType,omitempty"` @@ -52,11 +52,6 @@ type Fleet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-instancerolearn InstanceRoleARN string `json:"InstanceRoleARN,omitempty"` - // LogPaths AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-logpaths - LogPaths []string `json:"LogPaths,omitempty"` - // MaxSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-maxsize @@ -73,7 +68,7 @@ type Fleet struct { MinSize int `json:"MinSize,omitempty"` // Name AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-name Name string `json:"Name,omitempty"` @@ -107,16 +102,6 @@ type Fleet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-scriptid ScriptId string `json:"ScriptId,omitempty"` - // ServerLaunchParameters AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchparameters - ServerLaunchParameters string `json:"ServerLaunchParameters,omitempty"` - - // ServerLaunchPath AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchpath - ServerLaunchPath string `json:"ServerLaunchPath,omitempty"` - // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go b/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go index 7650d969ee..3f8fbb6203 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go +++ b/cloudformation/gamelift/aws-gamelift-fleet_ippermission.go @@ -5,27 +5,27 @@ import ( ) // Fleet_IpPermission AWS CloudFormation Resource (AWS::GameLift::Fleet.IpPermission) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html type Fleet_IpPermission struct { // FromPort AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-fromport + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-fromport FromPort int `json:"FromPort"` // IpRange AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-iprange + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-iprange IpRange string `json:"IpRange,omitempty"` // Protocol AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-protocol + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-protocol Protocol string `json:"Protocol,omitempty"` // ToPort AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-toport + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-toport ToPort int `json:"ToPort"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go index 4d80705aea..265e054be2 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go @@ -42,6 +42,11 @@ type ContainerRecipe struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-imageosversionoverride ImageOsVersionOverride string `json:"ImageOsVersionOverride,omitempty"` + // InstanceConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-instanceconfiguration + InstanceConfiguration interface{} `json:"InstanceConfiguration,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-kmskeyid diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_ebsinstanceblockdevicespecification.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_ebsinstanceblockdevicespecification.go new file mode 100644 index 0000000000..66ad352cdd --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_ebsinstanceblockdevicespecification.go @@ -0,0 +1,65 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_EbsInstanceBlockDeviceSpecification AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html +type ContainerRecipe_EbsInstanceBlockDeviceSpecification struct { + + // DeleteOnTermination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-deleteontermination + DeleteOnTermination bool `json:"DeleteOnTermination,omitempty"` + + // Encrypted AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-encrypted + Encrypted bool `json:"Encrypted,omitempty"` + + // Iops AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-iops + Iops int `json:"Iops,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-kmskeyid + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // SnapshotId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-snapshotid + SnapshotId string `json:"SnapshotId,omitempty"` + + // VolumeSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-volumesize + VolumeSize int `json:"VolumeSize,omitempty"` + + // VolumeType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-volumetype + VolumeType string `json:"VolumeType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ContainerRecipe_EbsInstanceBlockDeviceSpecification) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceblockdevicemapping.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceblockdevicemapping.go new file mode 100644 index 0000000000..9db95a6c22 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceblockdevicemapping.go @@ -0,0 +1,50 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_InstanceBlockDeviceMapping AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html +type ContainerRecipe_InstanceBlockDeviceMapping struct { + + // DeviceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-devicename + DeviceName string `json:"DeviceName,omitempty"` + + // Ebs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-ebs + Ebs *ContainerRecipe_EbsInstanceBlockDeviceSpecification `json:"Ebs,omitempty"` + + // NoDevice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-nodevice + NoDevice string `json:"NoDevice,omitempty"` + + // VirtualName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-virtualname + VirtualName string `json:"VirtualName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ContainerRecipe_InstanceBlockDeviceMapping) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceconfiguration.go new file mode 100644 index 0000000000..70c37f4873 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_instanceconfiguration.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_InstanceConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceconfiguration.html +type ContainerRecipe_InstanceConfiguration struct { + + // BlockDeviceMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceconfiguration.html#cfn-imagebuilder-containerrecipe-instanceconfiguration-blockdevicemappings + BlockDeviceMappings []ContainerRecipe_InstanceBlockDeviceMapping `json:"BlockDeviceMappings,omitempty"` + + // Image AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceconfiguration.html#cfn-imagebuilder-containerrecipe-instanceconfiguration-image + Image string `json:"Image,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ContainerRecipe_InstanceConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go index 099a5a143e..70d545e061 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_distribution.go @@ -18,6 +18,11 @@ type DistributionConfiguration_Distribution struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-containerdistributionconfiguration ContainerDistributionConfiguration interface{} `json:"ContainerDistributionConfiguration,omitempty"` + // LaunchTemplateConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-launchtemplateconfigurations + LaunchTemplateConfigurations []DistributionConfiguration_LaunchTemplateConfiguration `json:"LaunchTemplateConfigurations,omitempty"` + // LicenseConfigurationArns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-licenseconfigurationarns diff --git a/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_launchtemplateconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_launchtemplateconfiguration.go new file mode 100644 index 0000000000..63ad044da2 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-distributionconfiguration_launchtemplateconfiguration.go @@ -0,0 +1,45 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// DistributionConfiguration_LaunchTemplateConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html +type DistributionConfiguration_LaunchTemplateConfiguration struct { + + // AccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchtemplateconfiguration-accountid + AccountId string `json:"AccountId,omitempty"` + + // LaunchTemplateId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchtemplateconfiguration-launchtemplateid + LaunchTemplateId string `json:"LaunchTemplateId,omitempty"` + + // SetDefaultVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchtemplateconfiguration-setdefaultversion + SetDefaultVersion bool `json:"SetDefaultVersion,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DistributionConfiguration_LaunchTemplateConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" +} diff --git a/cloudformation/iot/aws-iot-topicrule.go b/cloudformation/iot/aws-iot-topicrule.go index 43b90ffc13..12e3fbbb9f 100644 --- a/cloudformation/iot/aws-iot-topicrule.go +++ b/cloudformation/iot/aws-iot-topicrule.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // TopicRule AWS CloudFormation Resource (AWS::IoT::TopicRule) @@ -17,6 +18,11 @@ type TopicRule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-rulename RuleName string `json:"RuleName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // TopicRulePayload AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-topicrulepayload diff --git a/cloudformation/iot/aws-iot-topicrule_action.go b/cloudformation/iot/aws-iot-topicrule_action.go index 842e26799b..9caf2943fa 100644 --- a/cloudformation/iot/aws-iot-topicrule_action.go +++ b/cloudformation/iot/aws-iot-topicrule_action.go @@ -13,6 +13,11 @@ type TopicRule_Action struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchalarm CloudwatchAlarm *TopicRule_CloudwatchAlarmAction `json:"CloudwatchAlarm,omitempty"` + // CloudwatchLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchlogs + CloudwatchLogs *TopicRule_CloudwatchLogsAction `json:"CloudwatchLogs,omitempty"` + // CloudwatchMetric AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchmetric @@ -58,6 +63,11 @@ type TopicRule_Action struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotsitewise IotSiteWise *TopicRule_IotSiteWiseAction `json:"IotSiteWise,omitempty"` + // Kafka AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-kafka + Kafka *TopicRule_KafkaAction `json:"Kafka,omitempty"` + // Kinesis AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-kinesis @@ -93,6 +103,11 @@ type TopicRule_Action struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-stepfunctions StepFunctions *TopicRule_StepFunctionsAction `json:"StepFunctions,omitempty"` + // Timestream AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-timestream + Timestream *TopicRule_TimestreamAction `json:"Timestream,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/iot/aws-iot-topicrule_cloudwatchlogsaction.go b/cloudformation/iot/aws-iot-topicrule_cloudwatchlogsaction.go new file mode 100644 index 0000000000..7cda291b97 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_cloudwatchlogsaction.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_CloudwatchLogsAction AWS CloudFormation Resource (AWS::IoT::TopicRule.CloudwatchLogsAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchlogsaction.html +type TopicRule_CloudwatchLogsAction struct { + + // LogGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchlogsaction.html#cfn-iot-topicrule-cloudwatchlogsaction-loggroupname + LogGroupName string `json:"LogGroupName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchlogsaction.html#cfn-iot-topicrule-cloudwatchlogsaction-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_CloudwatchLogsAction) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.CloudwatchLogsAction" +} diff --git a/cloudformation/iot/aws-iot-topicrule_firehoseaction.go b/cloudformation/iot/aws-iot-topicrule_firehoseaction.go index eb6061a57c..b8b6e9e14e 100644 --- a/cloudformation/iot/aws-iot-topicrule_firehoseaction.go +++ b/cloudformation/iot/aws-iot-topicrule_firehoseaction.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html type TopicRule_FirehoseAction struct { + // BatchMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html#cfn-iot-topicrule-firehoseaction-batchmode + BatchMode bool `json:"BatchMode,omitempty"` + // DeliveryStreamName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html#cfn-iot-topicrule-firehoseaction-deliverystreamname diff --git a/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go b/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go index e71eb1002b..0c68aab428 100644 --- a/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go +++ b/cloudformation/iot/aws-iot-topicrule_iotanalyticsaction.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html type TopicRule_IotAnalyticsAction struct { + // BatchMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html#cfn-iot-topicrule-iotanalyticsaction-batchmode + BatchMode bool `json:"BatchMode,omitempty"` + // ChannelName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html#cfn-iot-topicrule-iotanalyticsaction-channelname diff --git a/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go b/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go index 697b2ed62a..95bec53e08 100644 --- a/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go +++ b/cloudformation/iot/aws-iot-topicrule_ioteventsaction.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html type TopicRule_IotEventsAction struct { + // BatchMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-batchmode + BatchMode bool `json:"BatchMode,omitempty"` + // InputName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html#cfn-iot-topicrule-ioteventsaction-inputname diff --git a/cloudformation/iot/aws-iot-topicrule_kafkaaction.go b/cloudformation/iot/aws-iot-topicrule_kafkaaction.go new file mode 100644 index 0000000000..12f57176d5 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_kafkaaction.go @@ -0,0 +1,55 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_KafkaAction AWS CloudFormation Resource (AWS::IoT::TopicRule.KafkaAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html +type TopicRule_KafkaAction struct { + + // ClientProperties AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html#cfn-iot-topicrule-kafkaaction-clientproperties + ClientProperties map[string]string `json:"ClientProperties,omitempty"` + + // DestinationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html#cfn-iot-topicrule-kafkaaction-destinationarn + DestinationArn string `json:"DestinationArn,omitempty"` + + // Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html#cfn-iot-topicrule-kafkaaction-key + Key string `json:"Key,omitempty"` + + // Partition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html#cfn-iot-topicrule-kafkaaction-partition + Partition string `json:"Partition,omitempty"` + + // Topic AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html#cfn-iot-topicrule-kafkaaction-topic + Topic string `json:"Topic,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_KafkaAction) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.KafkaAction" +} diff --git a/cloudformation/iot/aws-iot-topicrule_timestreamaction.go b/cloudformation/iot/aws-iot-topicrule_timestreamaction.go new file mode 100644 index 0000000000..ec2f998185 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_timestreamaction.go @@ -0,0 +1,55 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_TimestreamAction AWS CloudFormation Resource (AWS::IoT::TopicRule.TimestreamAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html +type TopicRule_TimestreamAction struct { + + // DatabaseName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html#cfn-iot-topicrule-timestreamaction-databasename + DatabaseName string `json:"DatabaseName,omitempty"` + + // Dimensions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html#cfn-iot-topicrule-timestreamaction-dimensions + Dimensions *TopicRule_TimestreamDimensionsList `json:"Dimensions,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html#cfn-iot-topicrule-timestreamaction-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // TableName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html#cfn-iot-topicrule-timestreamaction-tablename + TableName string `json:"TableName,omitempty"` + + // Timestamp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html#cfn-iot-topicrule-timestreamaction-timestamp + Timestamp *TopicRule_TimestreamTimestamp `json:"Timestamp,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_TimestreamAction) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.TimestreamAction" +} diff --git a/cloudformation/iot/aws-iot-topicrule_timestreamdimension.go b/cloudformation/iot/aws-iot-topicrule_timestreamdimension.go new file mode 100644 index 0000000000..f755338e3a --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_timestreamdimension.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_TimestreamDimension AWS CloudFormation Resource (AWS::IoT::TopicRule.TimestreamDimension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimension.html +type TopicRule_TimestreamDimension struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimension.html#cfn-iot-topicrule-timestreamdimension-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimension.html#cfn-iot-topicrule-timestreamdimension-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_TimestreamDimension) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.TimestreamDimension" +} diff --git a/cloudformation/iot/aws-iot-topicrule_timestreamdimensionslist.go b/cloudformation/iot/aws-iot-topicrule_timestreamdimensionslist.go new file mode 100644 index 0000000000..861b7ace68 --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_timestreamdimensionslist.go @@ -0,0 +1,35 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_TimestreamDimensionsList AWS CloudFormation Resource (AWS::IoT::TopicRule.TimestreamDimensionsList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimensionslist.html +type TopicRule_TimestreamDimensionsList struct { + + // TimestreamDimensionsList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimensionslist.html#cfn-iot-topicrule-timestreamdimensionslist-timestreamdimensionslist + TimestreamDimensionsList []TopicRule_TimestreamDimension `json:"TimestreamDimensionsList,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_TimestreamDimensionsList) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.TimestreamDimensionsList" +} diff --git a/cloudformation/iot/aws-iot-topicrule_timestreamtimestamp.go b/cloudformation/iot/aws-iot-topicrule_timestreamtimestamp.go new file mode 100644 index 0000000000..b1c26e55aa --- /dev/null +++ b/cloudformation/iot/aws-iot-topicrule_timestreamtimestamp.go @@ -0,0 +1,40 @@ +package iot + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// TopicRule_TimestreamTimestamp AWS CloudFormation Resource (AWS::IoT::TopicRule.TimestreamTimestamp) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamtimestamp.html +type TopicRule_TimestreamTimestamp struct { + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamtimestamp.html#cfn-iot-topicrule-timestreamtimestamp-unit + Unit string `json:"Unit,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamtimestamp.html#cfn-iot-topicrule-timestreamtimestamp-value + Value string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *TopicRule_TimestreamTimestamp) AWSCloudFormationType() string { + return "AWS::IoT::TopicRule.TimestreamTimestamp" +} diff --git a/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go b/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go index e61ff1d31e..a094774961 100644 --- a/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go +++ b/cloudformation/iot/aws-iot-topicrule_topicrulepayload.go @@ -29,9 +29,9 @@ type TopicRule_TopicRulePayload struct { ErrorAction *TopicRule_Action `json:"ErrorAction,omitempty"` // RuleDisabled AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-ruledisabled - RuleDisabled bool `json:"RuleDisabled,omitempty"` + RuleDisabled bool `json:"RuleDisabled"` // Sql AWS CloudFormation Property // Required: true diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel.go b/cloudformation/iotevents/aws-iotevents-detectormodel.go index 6f68ef40c2..1a136f48a9 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel.go @@ -14,7 +14,7 @@ import ( type DetectorModel struct { // DetectorModelDefinition AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldefinition DetectorModelDefinition *DetectorModel_DetectorModelDefinition `json:"DetectorModelDefinition,omitempty"` @@ -39,7 +39,7 @@ type DetectorModel struct { Key string `json:"Key,omitempty"` // RoleArn AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-rolearn RoleArn string `json:"RoleArn,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go index f434641f0f..2efb3eae8d 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertytimestamp.go @@ -14,7 +14,7 @@ type DetectorModel_AssetPropertyTimestamp struct { OffsetInNanos string `json:"OffsetInNanos,omitempty"` // TimeInSeconds AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html#cfn-iotevents-detectormodel-assetpropertytimestamp-timeinseconds TimeInSeconds string `json:"TimeInSeconds,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go index 9753118b8f..ba004e3ad7 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_assetpropertyvalue.go @@ -19,7 +19,7 @@ type DetectorModel_AssetPropertyValue struct { Timestamp *DetectorModel_AssetPropertyTimestamp `json:"Timestamp,omitempty"` // Value AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-value Value *DetectorModel_AssetPropertyVariant `json:"Value,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go b/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go index 296ba0480b..757d732e5b 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_cleartimer.go @@ -9,7 +9,7 @@ import ( type DetectorModel_ClearTimer struct { // TimerName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html#cfn-iotevents-detectormodel-cleartimer-timername TimerName string `json:"TimerName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go b/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go index 12671df2a5..287ca360f5 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_detectormodeldefinition.go @@ -9,12 +9,12 @@ import ( type DetectorModel_DetectorModelDefinition struct { // InitialStateName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-initialstatename InitialStateName string `json:"InitialStateName,omitempty"` // States AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-states States []DetectorModel_State `json:"States,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go index 4e411aae78..1615a10942 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodb.go @@ -9,7 +9,7 @@ import ( type DetectorModel_DynamoDB struct { // HashKeyField AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyfield HashKeyField string `json:"HashKeyField,omitempty"` @@ -19,7 +19,7 @@ type DetectorModel_DynamoDB struct { HashKeyType string `json:"HashKeyType,omitempty"` // HashKeyValue AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-hashkeyvalue HashKeyValue string `json:"HashKeyValue,omitempty"` @@ -54,7 +54,7 @@ type DetectorModel_DynamoDB struct { RangeKeyValue string `json:"RangeKeyValue,omitempty"` // TableName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html#cfn-iotevents-detectormodel-dynamodb-tablename TableName string `json:"TableName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go index d0c3935f1e..1a1aeebc4a 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_dynamodbv2.go @@ -14,7 +14,7 @@ type DetectorModel_DynamoDBv2 struct { Payload *DetectorModel_Payload `json:"Payload,omitempty"` // TableName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html#cfn-iotevents-detectormodel-dynamodbv2-tablename TableName string `json:"TableName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_event.go b/cloudformation/iotevents/aws-iotevents-detectormodel_event.go index 9821605251..071b2d866a 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_event.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_event.go @@ -19,7 +19,7 @@ type DetectorModel_Event struct { Condition string `json:"Condition,omitempty"` // EventName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-eventname EventName string `json:"EventName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go b/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go index 21228ec30f..06d0332ad9 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_firehose.go @@ -9,7 +9,7 @@ import ( type DetectorModel_Firehose struct { // DeliveryStreamName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-deliverystreamname DeliveryStreamName string `json:"DeliveryStreamName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go b/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go index dfc4be20ff..1418aba1fb 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_iotevents.go @@ -9,7 +9,7 @@ import ( type DetectorModel_IotEvents struct { // InputName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-inputname InputName string `json:"InputName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go b/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go index 592f5600f0..8cc1254aed 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_iotsitewise.go @@ -29,7 +29,7 @@ type DetectorModel_IotSiteWise struct { PropertyId string `json:"PropertyId,omitempty"` // PropertyValue AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html#cfn-iotevents-detectormodel-iotsitewise-propertyvalue PropertyValue *DetectorModel_AssetPropertyValue `json:"PropertyValue,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go b/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go index 27e906992d..c7b22896f3 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_iottopicpublish.go @@ -9,7 +9,7 @@ import ( type DetectorModel_IotTopicPublish struct { // MqttTopic AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-mqtttopic MqttTopic string `json:"MqttTopic,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go b/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go index 99c99c1cb4..92ab4c7a44 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_lambda.go @@ -9,7 +9,7 @@ import ( type DetectorModel_Lambda struct { // FunctionArn AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-functionarn FunctionArn string `json:"FunctionArn,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go b/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go index f2dbc1dae5..66f3179496 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_payload.go @@ -9,12 +9,12 @@ import ( type DetectorModel_Payload struct { // ContentExpression AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-contentexpression ContentExpression string `json:"ContentExpression,omitempty"` // Type AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-type Type string `json:"Type,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go b/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go index 4a214fe799..89b0024e1c 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_resettimer.go @@ -9,7 +9,7 @@ import ( type DetectorModel_ResetTimer struct { // TimerName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html#cfn-iotevents-detectormodel-resettimer-timername TimerName string `json:"TimerName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go b/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go index c6298eb6f0..ec3381d5a0 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_settimer.go @@ -19,7 +19,7 @@ type DetectorModel_SetTimer struct { Seconds int `json:"Seconds,omitempty"` // TimerName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-timername TimerName string `json:"TimerName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go b/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go index ccce89ee72..f642cac779 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_setvariable.go @@ -9,12 +9,12 @@ import ( type DetectorModel_SetVariable struct { // Value AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-value Value string `json:"Value,omitempty"` // VariableName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-variablename VariableName string `json:"VariableName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go b/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go index 3c1779870e..13d64c3379 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_sns.go @@ -14,7 +14,7 @@ type DetectorModel_Sns struct { Payload *DetectorModel_Payload `json:"Payload,omitempty"` // TargetArn AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-targetarn TargetArn string `json:"TargetArn,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go b/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go index 96010435e6..b3219e6827 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_sqs.go @@ -14,7 +14,7 @@ type DetectorModel_Sqs struct { Payload *DetectorModel_Payload `json:"Payload,omitempty"` // QueueUrl AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-queueurl QueueUrl string `json:"QueueUrl,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_state.go b/cloudformation/iotevents/aws-iotevents-detectormodel_state.go index ada6b92e64..2217d07600 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_state.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_state.go @@ -24,7 +24,7 @@ type DetectorModel_State struct { OnInput *DetectorModel_OnInput `json:"OnInput,omitempty"` // StateName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-statename StateName string `json:"StateName,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go b/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go index 8935c0aa4e..59b36a7bc7 100644 --- a/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go +++ b/cloudformation/iotevents/aws-iotevents-detectormodel_transitionevent.go @@ -14,17 +14,17 @@ type DetectorModel_TransitionEvent struct { Actions []DetectorModel_Action `json:"Actions,omitempty"` // Condition AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-condition Condition string `json:"Condition,omitempty"` // EventName AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-eventname EventName string `json:"EventName,omitempty"` // NextState AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-nextstate NextState string `json:"NextState,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-input.go b/cloudformation/iotevents/aws-iotevents-input.go index 54f6fbc60d..6e24ea3026 100644 --- a/cloudformation/iotevents/aws-iotevents-input.go +++ b/cloudformation/iotevents/aws-iotevents-input.go @@ -14,7 +14,7 @@ import ( type Input struct { // InputDefinition AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdefinition InputDefinition *Input_InputDefinition `json:"InputDefinition,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-input_attribute.go b/cloudformation/iotevents/aws-iotevents-input_attribute.go index 3a5dd31a7c..2fe9d333c9 100644 --- a/cloudformation/iotevents/aws-iotevents-input_attribute.go +++ b/cloudformation/iotevents/aws-iotevents-input_attribute.go @@ -9,7 +9,7 @@ import ( type Input_Attribute struct { // JsonPath AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html#cfn-iotevents-input-attribute-jsonpath JsonPath string `json:"JsonPath,omitempty"` diff --git a/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go b/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go index 2275b588f3..855b4e9ea3 100644 --- a/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go +++ b/cloudformation/iotevents/aws-iotevents-input_inputdefinition.go @@ -9,7 +9,7 @@ import ( type Input_InputDefinition struct { // Attributes AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html#cfn-iotevents-input-inputdefinition-attributes Attributes []Input_Attribute `json:"Attributes,omitempty"` diff --git a/cloudformation/ivs/aws-ivs-channel.go b/cloudformation/ivs/aws-ivs-channel.go index 032b73a83c..4a2f0a8145 100644 --- a/cloudformation/ivs/aws-ivs-channel.go +++ b/cloudformation/ivs/aws-ivs-channel.go @@ -28,6 +28,11 @@ type Channel struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-name Name string `json:"Name,omitempty"` + // RecordingConfigurationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-recordingconfigurationarn + RecordingConfigurationArn string `json:"RecordingConfigurationArn,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-tags diff --git a/cloudformation/ivs/aws-ivs-recordingconfiguration.go b/cloudformation/ivs/aws-ivs-recordingconfiguration.go new file mode 100644 index 0000000000..d3ef047f97 --- /dev/null +++ b/cloudformation/ivs/aws-ivs-recordingconfiguration.go @@ -0,0 +1,117 @@ +package ivs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" +) + +// RecordingConfiguration AWS CloudFormation Resource (AWS::IVS::RecordingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html +type RecordingConfiguration struct { + + // DestinationConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-destinationconfiguration + DestinationConfiguration *RecordingConfiguration_DestinationConfiguration `json:"DestinationConfiguration,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-name + Name string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html#cfn-ivs-recordingconfiguration-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RecordingConfiguration) AWSCloudFormationType() string { + return "AWS::IVS::RecordingConfiguration" +} + +// MarshalJSON is a custom JSON marshalling hook that embeds this object into +// an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'. +func (r RecordingConfiguration) MarshalJSON() ([]byte, error) { + type Properties RecordingConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *RecordingConfiguration) UnmarshalJSON(b []byte) error { + type Properties RecordingConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = RecordingConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/ivs/aws-ivs-recordingconfiguration_destinationconfiguration.go b/cloudformation/ivs/aws-ivs-recordingconfiguration_destinationconfiguration.go new file mode 100644 index 0000000000..d12b5dedbd --- /dev/null +++ b/cloudformation/ivs/aws-ivs-recordingconfiguration_destinationconfiguration.go @@ -0,0 +1,35 @@ +package ivs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RecordingConfiguration_DestinationConfiguration AWS CloudFormation Resource (AWS::IVS::RecordingConfiguration.DestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-destinationconfiguration.html +type RecordingConfiguration_DestinationConfiguration struct { + + // S3 AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-destinationconfiguration.html#cfn-ivs-recordingconfiguration-destinationconfiguration-s3 + S3 *RecordingConfiguration_S3DestinationConfiguration `json:"S3,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RecordingConfiguration_DestinationConfiguration) AWSCloudFormationType() string { + return "AWS::IVS::RecordingConfiguration.DestinationConfiguration" +} diff --git a/cloudformation/ivs/aws-ivs-recordingconfiguration_s3destinationconfiguration.go b/cloudformation/ivs/aws-ivs-recordingconfiguration_s3destinationconfiguration.go new file mode 100644 index 0000000000..675cad719a --- /dev/null +++ b/cloudformation/ivs/aws-ivs-recordingconfiguration_s3destinationconfiguration.go @@ -0,0 +1,35 @@ +package ivs + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RecordingConfiguration_S3DestinationConfiguration AWS CloudFormation Resource (AWS::IVS::RecordingConfiguration.S3DestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html +type RecordingConfiguration_S3DestinationConfiguration struct { + + // BucketName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-s3destinationconfiguration.html#cfn-ivs-recordingconfiguration-s3destinationconfiguration-bucketname + BucketName string `json:"BucketName,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RecordingConfiguration_S3DestinationConfiguration) AWSCloudFormationType() string { + return "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" +} diff --git a/cloudformation/medialive/aws-medialive-channel_encodersettings.go b/cloudformation/medialive/aws-medialive-channel_encodersettings.go index 9351799d46..810061c1b3 100644 --- a/cloudformation/medialive/aws-medialive-channel_encodersettings.go +++ b/cloudformation/medialive/aws-medialive-channel_encodersettings.go @@ -43,6 +43,11 @@ type Channel_EncoderSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-globalconfiguration GlobalConfiguration *Channel_GlobalConfiguration `json:"GlobalConfiguration,omitempty"` + // MotionGraphicsConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-motiongraphicsconfiguration + MotionGraphicsConfiguration *Channel_MotionGraphicsConfiguration `json:"MotionGraphicsConfiguration,omitempty"` + // NielsenConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-encodersettings.html#cfn-medialive-channel-encodersettings-nielsenconfiguration diff --git a/cloudformation/medialive/aws-medialive-channel_htmlmotiongraphicssettings.go b/cloudformation/medialive/aws-medialive-channel_htmlmotiongraphicssettings.go new file mode 100644 index 0000000000..0d0bfb2959 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_htmlmotiongraphicssettings.go @@ -0,0 +1,30 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_HtmlMotionGraphicsSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.HtmlMotionGraphicsSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-htmlmotiongraphicssettings.html +type Channel_HtmlMotionGraphicsSettings struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_HtmlMotionGraphicsSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_motiongraphicsconfiguration.go b/cloudformation/medialive/aws-medialive-channel_motiongraphicsconfiguration.go new file mode 100644 index 0000000000..393ce9d10d --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_motiongraphicsconfiguration.go @@ -0,0 +1,40 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_MotionGraphicsConfiguration AWS CloudFormation Resource (AWS::MediaLive::Channel.MotionGraphicsConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-motiongraphicsconfiguration.html +type Channel_MotionGraphicsConfiguration struct { + + // MotionGraphicsInsertion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-motiongraphicsconfiguration.html#cfn-medialive-channel-motiongraphicsconfiguration-motiongraphicsinsertion + MotionGraphicsInsertion string `json:"MotionGraphicsInsertion,omitempty"` + + // MotionGraphicsSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-motiongraphicsconfiguration.html#cfn-medialive-channel-motiongraphicsconfiguration-motiongraphicssettings + MotionGraphicsSettings *Channel_MotionGraphicsSettings `json:"MotionGraphicsSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_MotionGraphicsConfiguration) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.MotionGraphicsConfiguration" +} diff --git a/cloudformation/medialive/aws-medialive-channel_motiongraphicssettings.go b/cloudformation/medialive/aws-medialive-channel_motiongraphicssettings.go new file mode 100644 index 0000000000..213f4fbfd3 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_motiongraphicssettings.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_MotionGraphicsSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.MotionGraphicsSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-motiongraphicssettings.html +type Channel_MotionGraphicsSettings struct { + + // HtmlMotionGraphicsSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-motiongraphicssettings.html#cfn-medialive-channel-motiongraphicssettings-htmlmotiongraphicssettings + HtmlMotionGraphicsSettings *Channel_HtmlMotionGraphicsSettings `json:"HtmlMotionGraphicsSettings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_MotionGraphicsSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.MotionGraphicsSettings" +} diff --git a/cloudformation/medialive/aws-medialive-channel_videoselector.go b/cloudformation/medialive/aws-medialive-channel_videoselector.go index fe2dc4109c..00482df50e 100644 --- a/cloudformation/medialive/aws-medialive-channel_videoselector.go +++ b/cloudformation/medialive/aws-medialive-channel_videoselector.go @@ -13,6 +13,11 @@ type Channel_VideoSelector struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspace ColorSpace string `json:"ColorSpace,omitempty"` + // ColorSpaceSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspacesettings + ColorSpaceSettings *Channel_VideoSelectorColorSpaceSettings `json:"ColorSpaceSettings,omitempty"` + // ColorSpaceUsage AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspaceusage diff --git a/cloudformation/medialive/aws-medialive-channel_videoselectorcolorspacesettings.go b/cloudformation/medialive/aws-medialive-channel_videoselectorcolorspacesettings.go new file mode 100644 index 0000000000..e889972291 --- /dev/null +++ b/cloudformation/medialive/aws-medialive-channel_videoselectorcolorspacesettings.go @@ -0,0 +1,35 @@ +package medialive + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Channel_VideoSelectorColorSpaceSettings AWS CloudFormation Resource (AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorcolorspacesettings.html +type Channel_VideoSelectorColorSpaceSettings struct { + + // Hdr10Settings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorcolorspacesettings.html#cfn-medialive-channel-videoselectorcolorspacesettings-hdr10settings + Hdr10Settings *Channel_Hdr10Settings `json:"Hdr10Settings,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Channel_VideoSelectorColorSpaceSettings) AWSCloudFormationType() string { + return "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" +} diff --git a/cloudformation/mwaa/aws-mwaa-environment.go b/cloudformation/mwaa/aws-mwaa-environment.go index 412515707e..99127488dc 100644 --- a/cloudformation/mwaa/aws-mwaa-environment.go +++ b/cloudformation/mwaa/aws-mwaa-environment.go @@ -15,7 +15,7 @@ type Environment struct { // AirflowConfigurationOptions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-airflowconfigurationoptions - AirflowConfigurationOptions *Environment_AirflowConfigurationOptions `json:"AirflowConfigurationOptions,omitempty"` + AirflowConfigurationOptions interface{} `json:"AirflowConfigurationOptions,omitempty"` // AirflowVersion AWS CloudFormation Property // Required: false @@ -52,6 +52,11 @@ type Environment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-maxworkers MaxWorkers int `json:"MaxWorkers,omitempty"` + // MinWorkers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-minworkers + MinWorkers int `json:"MinWorkers,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-name diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 2690820c6f..2071d337f4 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -15497,6 +15497,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DefaultValue": { + "type": "string" + }, "Name": { "type": "string" }, @@ -16786,6 +16789,9 @@ var CloudformationSchema = `{ "MaxConcurrentPercentage": { "type": "number" }, + "RegionConcurrencyType": { + "type": "string" + }, "RegionOrder": { "items": { "type": "string" @@ -25706,6 +25712,9 @@ var CloudformationSchema = `{ "RedshiftSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" }, + "ResourceIdentifier": { + "type": "string" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -26167,6 +26176,9 @@ var CloudformationSchema = `{ "ReplicationSubnetGroupIdentifier": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26337,6 +26349,9 @@ var CloudformationSchema = `{ "ReplicationTaskSettings": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "SourceEndpointArn": { "type": "string" }, @@ -29489,6 +29504,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, "LocalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" @@ -29619,6 +29637,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { @@ -30996,6 +31026,72 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { @@ -39442,6 +39538,9 @@ var CloudformationSchema = `{ "BackupPolicy": { "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, "Encrypted": { "type": "boolean" }, @@ -42241,6 +42340,12 @@ var CloudformationSchema = `{ } }, "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42507,6 +42612,12 @@ var CloudformationSchema = `{ "properties": { "Description": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42647,6 +42758,12 @@ var CloudformationSchema = `{ "type": "string" }, "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -47019,12 +47136,6 @@ var CloudformationSchema = `{ "InstanceRoleARN": { "type": "string" }, - "LogPaths": { - "items": { - "type": "string" - }, - "type": "array" - }, "MaxSize": { "type": "number" }, @@ -47057,18 +47168,8 @@ var CloudformationSchema = `{ }, "ScriptId": { "type": "string" - }, - "ServerLaunchParameters": { - "type": "string" - }, - "ServerLaunchPath": { - "type": "string" } }, - "required": [ - "EC2InstanceType", - "Name" - ], "type": "object" }, "Type": { @@ -47087,8 +47188,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -54820,6 +54920,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "RecordingConfigurationArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -54923,6 +55026,101 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -55144,6 +55342,9 @@ var CloudformationSchema = `{ "ImageOsVersionOverride": { "type": "string" }, + "InstanceConfiguration": { + "type": "object" + }, "KmsKeyId": { "type": "string" }, @@ -55215,6 +55416,66 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { @@ -55317,6 +55578,12 @@ var CloudformationSchema = `{ "ContainerDistributionConfiguration": { "type": "object" }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, "LicenseConfigurationArns": { "items": { "type": "string" @@ -55332,6 +55599,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { @@ -57772,6 +58054,12 @@ var CloudformationSchema = `{ "RuleName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TopicRulePayload": { "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } @@ -57808,6 +58096,9 @@ var CloudformationSchema = `{ "CloudwatchAlarm": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, "CloudwatchMetric": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" }, @@ -57835,6 +58126,9 @@ var CloudformationSchema = `{ "IotSiteWise": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -57855,6 +58149,9 @@ var CloudformationSchema = `{ }, "StepFunctions": { "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" } }, "type": "object" @@ -57935,6 +58232,22 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { @@ -58048,6 +58361,9 @@ var CloudformationSchema = `{ "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "DeliveryStreamName": { "type": "string" }, @@ -58116,6 +58432,9 @@ var CloudformationSchema = `{ "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "ChannelName": { "type": "string" }, @@ -58132,6 +58451,9 @@ var CloudformationSchema = `{ "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "InputName": { "type": "string" }, @@ -58167,6 +58489,38 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -58353,6 +58707,77 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimensionsList" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimensionsList": { + "additionalProperties": false, + "properties": { + "TimestreamDimensionsList": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { @@ -58380,6 +58805,7 @@ var CloudformationSchema = `{ }, "required": [ "Actions", + "RuleDisabled", "Sql" ], "type": "object" @@ -59537,6 +59963,10 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], "type": "object" }, "Type": { @@ -59555,7 +59985,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -59614,6 +60045,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TimeInSeconds" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { @@ -59629,6 +60063,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" } }, + "required": [ + "Value" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { @@ -59656,6 +60093,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { @@ -59671,6 +60111,10 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "InitialStateName", + "States" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDB": { @@ -59707,6 +60151,11 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDBv2": { @@ -59719,6 +60168,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Event": { @@ -59737,6 +60189,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "EventName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Firehose": { @@ -59752,6 +60207,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "DeliveryStreamName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotEvents": { @@ -59764,6 +60222,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "InputName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotSiteWise": { @@ -59785,6 +60246,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, + "required": [ + "PropertyValue" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotTopicPublish": { @@ -59797,6 +60261,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "MqttTopic" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Lambda": { @@ -59809,6 +60276,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "FunctionArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.OnEnter": { @@ -59863,6 +60333,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "ContentExpression", + "Type" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.ResetTimer": { @@ -59872,6 +60346,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetTimer": { @@ -59887,6 +60364,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetVariable": { @@ -59899,6 +60379,10 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Value", + "VariableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sns": { @@ -59911,6 +60395,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "TargetArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sqs": { @@ -59926,6 +60413,9 @@ var CloudformationSchema = `{ "type": "boolean" } }, + "required": [ + "QueueUrl" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.State": { @@ -59944,6 +60434,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "StateName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.TransitionEvent": { @@ -59965,6 +60458,11 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "Condition", + "EventName", + "NextState" + ], "type": "object" }, "AWS::IoTEvents::Input": { @@ -60015,6 +60513,9 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "InputDefinition" + ], "type": "object" }, "Type": { @@ -60033,7 +60534,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -60044,6 +60546,9 @@ var CloudformationSchema = `{ "type": "string" } }, + "required": [ + "JsonPath" + ], "type": "object" }, "AWS::IoTEvents::Input.InputDefinition": { @@ -60056,6 +60561,9 @@ var CloudformationSchema = `{ "type": "array" } }, + "required": [ + "Attributes" + ], "type": "object" }, "AWS::IoTSiteWise::AccessPolicy": { @@ -68763,7 +69271,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "AirflowConfigurationOptions": { - "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" + "type": "object" }, "AirflowVersion": { "type": "string" @@ -68786,6 +69294,9 @@ var CloudformationSchema = `{ "MaxWorkers": { "type": "number" }, + "MinWorkers": { + "type": "number" + }, "Name": { "type": "string" }, @@ -68843,11 +69354,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MWAA::Environment.AirflowConfigurationOptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -71286,6 +71792,9 @@ var CloudformationSchema = `{ "GlobalConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, "NielsenConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" }, @@ -72044,6 +72553,11 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.InputAttachment": { "additionalProperties": false, "properties": { @@ -72412,6 +72926,27 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.Mp2Settings": { "additionalProperties": false, "properties": { @@ -73107,6 +73642,9 @@ var CloudformationSchema = `{ "ColorSpace": { "type": "string" }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, "ColorSpaceUsage": { "type": "string" }, @@ -73116,6 +73654,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.VideoSelectorPid": { "additionalProperties": false, "properties": { @@ -103543,6 +104090,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, { "$ref": "#/definitions/AWS::EC2::FlowLog" }, @@ -104104,6 +104654,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, { "$ref": "#/definitions/AWS::IVS::StreamKey" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 391a1be05c..bf15279b7a 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -15494,6 +15494,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DefaultValue": { + "type": "string" + }, "Name": { "type": "string" }, @@ -16783,6 +16786,9 @@ "MaxConcurrentPercentage": { "type": "number" }, + "RegionConcurrencyType": { + "type": "string" + }, "RegionOrder": { "items": { "type": "string" @@ -25703,6 +25709,9 @@ "RedshiftSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" }, + "ResourceIdentifier": { + "type": "string" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -26164,6 +26173,9 @@ "ReplicationSubnetGroupIdentifier": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26334,6 +26346,9 @@ "ReplicationTaskSettings": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "SourceEndpointArn": { "type": "string" }, @@ -29486,6 +29501,9 @@ }, "type": "array" }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, "LocalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" @@ -29616,6 +29634,18 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { @@ -30993,6 +31023,72 @@ ], "type": "object" }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { @@ -39439,6 +39535,9 @@ "BackupPolicy": { "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, "Encrypted": { "type": "boolean" }, @@ -42238,6 +42337,12 @@ } }, "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42504,6 +42609,12 @@ "properties": { "Description": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42644,6 +42755,12 @@ "type": "string" }, "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -47016,12 +47133,6 @@ "InstanceRoleARN": { "type": "string" }, - "LogPaths": { - "items": { - "type": "string" - }, - "type": "array" - }, "MaxSize": { "type": "number" }, @@ -47054,18 +47165,8 @@ }, "ScriptId": { "type": "string" - }, - "ServerLaunchParameters": { - "type": "string" - }, - "ServerLaunchPath": { - "type": "string" } }, - "required": [ - "EC2InstanceType", - "Name" - ], "type": "object" }, "Type": { @@ -47084,8 +47185,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -54817,6 +54917,9 @@ "Name": { "type": "string" }, + "RecordingConfigurationArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -54920,6 +55023,101 @@ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -55141,6 +55339,9 @@ "ImageOsVersionOverride": { "type": "string" }, + "InstanceConfiguration": { + "type": "object" + }, "KmsKeyId": { "type": "string" }, @@ -55212,6 +55413,66 @@ }, "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { @@ -55314,6 +55575,12 @@ "ContainerDistributionConfiguration": { "type": "object" }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, "LicenseConfigurationArns": { "items": { "type": "string" @@ -55329,6 +55596,21 @@ ], "type": "object" }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { @@ -57769,6 +58051,12 @@ "RuleName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TopicRulePayload": { "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } @@ -57805,6 +58093,9 @@ "CloudwatchAlarm": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, "CloudwatchMetric": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" }, @@ -57832,6 +58123,9 @@ "IotSiteWise": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -57852,6 +58146,9 @@ }, "StepFunctions": { "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" } }, "type": "object" @@ -57932,6 +58229,22 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { @@ -58045,6 +58358,9 @@ "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "DeliveryStreamName": { "type": "string" }, @@ -58113,6 +58429,9 @@ "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "ChannelName": { "type": "string" }, @@ -58129,6 +58448,9 @@ "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "InputName": { "type": "string" }, @@ -58164,6 +58486,38 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -58350,6 +58704,77 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimensionsList" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimensionsList": { + "additionalProperties": false, + "properties": { + "TimestreamDimensionsList": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { @@ -58377,6 +58802,7 @@ }, "required": [ "Actions", + "RuleDisabled", "Sql" ], "type": "object" @@ -59534,6 +59960,10 @@ "type": "array" } }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], "type": "object" }, "Type": { @@ -59552,7 +59982,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -59611,6 +60042,9 @@ "type": "string" } }, + "required": [ + "TimeInSeconds" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { @@ -59626,6 +60060,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" } }, + "required": [ + "Value" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { @@ -59653,6 +60090,9 @@ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { @@ -59668,6 +60108,10 @@ "type": "array" } }, + "required": [ + "InitialStateName", + "States" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDB": { @@ -59704,6 +60148,11 @@ "type": "string" } }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDBv2": { @@ -59716,6 +60165,9 @@ "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Event": { @@ -59734,6 +60186,9 @@ "type": "string" } }, + "required": [ + "EventName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Firehose": { @@ -59749,6 +60204,9 @@ "type": "string" } }, + "required": [ + "DeliveryStreamName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotEvents": { @@ -59761,6 +60219,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "InputName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotSiteWise": { @@ -59782,6 +60243,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, + "required": [ + "PropertyValue" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotTopicPublish": { @@ -59794,6 +60258,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "MqttTopic" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Lambda": { @@ -59806,6 +60273,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "FunctionArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.OnEnter": { @@ -59860,6 +60330,10 @@ "type": "string" } }, + "required": [ + "ContentExpression", + "Type" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.ResetTimer": { @@ -59869,6 +60343,9 @@ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetTimer": { @@ -59884,6 +60361,9 @@ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetVariable": { @@ -59896,6 +60376,10 @@ "type": "string" } }, + "required": [ + "Value", + "VariableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sns": { @@ -59908,6 +60392,9 @@ "type": "string" } }, + "required": [ + "TargetArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sqs": { @@ -59923,6 +60410,9 @@ "type": "boolean" } }, + "required": [ + "QueueUrl" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.State": { @@ -59941,6 +60431,9 @@ "type": "string" } }, + "required": [ + "StateName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.TransitionEvent": { @@ -59962,6 +60455,11 @@ "type": "string" } }, + "required": [ + "Condition", + "EventName", + "NextState" + ], "type": "object" }, "AWS::IoTEvents::Input": { @@ -60012,6 +60510,9 @@ "type": "array" } }, + "required": [ + "InputDefinition" + ], "type": "object" }, "Type": { @@ -60030,7 +60531,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -60041,6 +60543,9 @@ "type": "string" } }, + "required": [ + "JsonPath" + ], "type": "object" }, "AWS::IoTEvents::Input.InputDefinition": { @@ -60053,6 +60558,9 @@ "type": "array" } }, + "required": [ + "Attributes" + ], "type": "object" }, "AWS::IoTSiteWise::AccessPolicy": { @@ -68760,7 +69268,7 @@ "additionalProperties": false, "properties": { "AirflowConfigurationOptions": { - "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" + "type": "object" }, "AirflowVersion": { "type": "string" @@ -68783,6 +69291,9 @@ "MaxWorkers": { "type": "number" }, + "MinWorkers": { + "type": "number" + }, "Name": { "type": "string" }, @@ -68840,11 +69351,6 @@ ], "type": "object" }, - "AWS::MWAA::Environment.AirflowConfigurationOptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -71283,6 +71789,9 @@ "GlobalConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, "NielsenConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" }, @@ -72041,6 +72550,11 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.InputAttachment": { "additionalProperties": false, "properties": { @@ -72409,6 +72923,27 @@ "properties": {}, "type": "object" }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.Mp2Settings": { "additionalProperties": false, "properties": { @@ -73104,6 +73639,9 @@ "ColorSpace": { "type": "string" }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, "ColorSpaceUsage": { "type": "string" }, @@ -73113,6 +73651,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.VideoSelectorPid": { "additionalProperties": false, "properties": { @@ -103540,6 +104087,9 @@ { "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, { "$ref": "#/definitions/AWS::EC2::FlowLog" }, @@ -104101,6 +104651,9 @@ { "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, { "$ref": "#/definitions/AWS::IVS::StreamKey" }, diff --git a/schema/sam.go b/schema/sam.go index f9bb4c8161..84128c3034 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -15497,6 +15497,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "DefaultValue": { + "type": "string" + }, "Name": { "type": "string" }, @@ -16786,6 +16789,9 @@ var SamSchema = `{ "MaxConcurrentPercentage": { "type": "number" }, + "RegionConcurrencyType": { + "type": "string" + }, "RegionOrder": { "items": { "type": "string" @@ -25706,6 +25712,9 @@ var SamSchema = `{ "RedshiftSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" }, + "ResourceIdentifier": { + "type": "string" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -26167,6 +26176,9 @@ var SamSchema = `{ "ReplicationSubnetGroupIdentifier": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26337,6 +26349,9 @@ var SamSchema = `{ "ReplicationTaskSettings": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "SourceEndpointArn": { "type": "string" }, @@ -29489,6 +29504,9 @@ var SamSchema = `{ }, "type": "array" }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, "LocalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" @@ -29619,6 +29637,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { @@ -30996,6 +31026,72 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { @@ -39442,6 +39538,9 @@ var SamSchema = `{ "BackupPolicy": { "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, "Encrypted": { "type": "boolean" }, @@ -42241,6 +42340,12 @@ var SamSchema = `{ } }, "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42507,6 +42612,12 @@ var SamSchema = `{ "properties": { "Description": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42647,6 +42758,12 @@ var SamSchema = `{ "type": "string" }, "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -47019,12 +47136,6 @@ var SamSchema = `{ "InstanceRoleARN": { "type": "string" }, - "LogPaths": { - "items": { - "type": "string" - }, - "type": "array" - }, "MaxSize": { "type": "number" }, @@ -47057,18 +47168,8 @@ var SamSchema = `{ }, "ScriptId": { "type": "string" - }, - "ServerLaunchParameters": { - "type": "string" - }, - "ServerLaunchPath": { - "type": "string" } }, - "required": [ - "EC2InstanceType", - "Name" - ], "type": "object" }, "Type": { @@ -47087,8 +47188,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -54820,6 +54920,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "RecordingConfigurationArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -54923,6 +55026,101 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -55144,6 +55342,9 @@ var SamSchema = `{ "ImageOsVersionOverride": { "type": "string" }, + "InstanceConfiguration": { + "type": "object" + }, "KmsKeyId": { "type": "string" }, @@ -55215,6 +55416,66 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { @@ -55317,6 +55578,12 @@ var SamSchema = `{ "ContainerDistributionConfiguration": { "type": "object" }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, "LicenseConfigurationArns": { "items": { "type": "string" @@ -55332,6 +55599,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { @@ -57772,6 +58054,12 @@ var SamSchema = `{ "RuleName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TopicRulePayload": { "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } @@ -57808,6 +58096,9 @@ var SamSchema = `{ "CloudwatchAlarm": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, "CloudwatchMetric": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" }, @@ -57835,6 +58126,9 @@ var SamSchema = `{ "IotSiteWise": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -57855,6 +58149,9 @@ var SamSchema = `{ }, "StepFunctions": { "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" } }, "type": "object" @@ -57935,6 +58232,22 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { @@ -58048,6 +58361,9 @@ var SamSchema = `{ "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "DeliveryStreamName": { "type": "string" }, @@ -58116,6 +58432,9 @@ var SamSchema = `{ "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "ChannelName": { "type": "string" }, @@ -58132,6 +58451,9 @@ var SamSchema = `{ "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "InputName": { "type": "string" }, @@ -58167,6 +58489,38 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -58353,6 +58707,77 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimensionsList" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimensionsList": { + "additionalProperties": false, + "properties": { + "TimestreamDimensionsList": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { @@ -58380,6 +58805,7 @@ var SamSchema = `{ }, "required": [ "Actions", + "RuleDisabled", "Sql" ], "type": "object" @@ -59537,6 +59963,10 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], "type": "object" }, "Type": { @@ -59555,7 +59985,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -59614,6 +60045,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TimeInSeconds" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { @@ -59629,6 +60063,9 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" } }, + "required": [ + "Value" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { @@ -59656,6 +60093,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { @@ -59671,6 +60111,10 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "InitialStateName", + "States" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDB": { @@ -59707,6 +60151,11 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDBv2": { @@ -59719,6 +60168,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Event": { @@ -59737,6 +60189,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "EventName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Firehose": { @@ -59752,6 +60207,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "DeliveryStreamName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotEvents": { @@ -59764,6 +60222,9 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "InputName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotSiteWise": { @@ -59785,6 +60246,9 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, + "required": [ + "PropertyValue" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotTopicPublish": { @@ -59797,6 +60261,9 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "MqttTopic" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Lambda": { @@ -59809,6 +60276,9 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "FunctionArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.OnEnter": { @@ -59863,6 +60333,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "ContentExpression", + "Type" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.ResetTimer": { @@ -59872,6 +60346,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetTimer": { @@ -59887,6 +60364,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetVariable": { @@ -59899,6 +60379,10 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Value", + "VariableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sns": { @@ -59911,6 +60395,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "TargetArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sqs": { @@ -59926,6 +60413,9 @@ var SamSchema = `{ "type": "boolean" } }, + "required": [ + "QueueUrl" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.State": { @@ -59944,6 +60434,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "StateName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.TransitionEvent": { @@ -59965,6 +60458,11 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "Condition", + "EventName", + "NextState" + ], "type": "object" }, "AWS::IoTEvents::Input": { @@ -60015,6 +60513,9 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "InputDefinition" + ], "type": "object" }, "Type": { @@ -60033,7 +60534,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -60044,6 +60546,9 @@ var SamSchema = `{ "type": "string" } }, + "required": [ + "JsonPath" + ], "type": "object" }, "AWS::IoTEvents::Input.InputDefinition": { @@ -60056,6 +60561,9 @@ var SamSchema = `{ "type": "array" } }, + "required": [ + "Attributes" + ], "type": "object" }, "AWS::IoTSiteWise::AccessPolicy": { @@ -68763,7 +69271,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "AirflowConfigurationOptions": { - "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" + "type": "object" }, "AirflowVersion": { "type": "string" @@ -68786,6 +69294,9 @@ var SamSchema = `{ "MaxWorkers": { "type": "number" }, + "MinWorkers": { + "type": "number" + }, "Name": { "type": "string" }, @@ -68843,11 +69354,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MWAA::Environment.AirflowConfigurationOptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -71286,6 +71792,9 @@ var SamSchema = `{ "GlobalConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, "NielsenConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" }, @@ -72044,6 +72553,11 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.InputAttachment": { "additionalProperties": false, "properties": { @@ -72412,6 +72926,27 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.Mp2Settings": { "additionalProperties": false, "properties": { @@ -73107,6 +73642,9 @@ var SamSchema = `{ "ColorSpace": { "type": "string" }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, "ColorSpaceUsage": { "type": "string" }, @@ -73116,6 +73654,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.VideoSelectorPid": { "additionalProperties": false, "properties": { @@ -105387,6 +105934,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, { "$ref": "#/definitions/AWS::EC2::FlowLog" }, @@ -105948,6 +106498,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, { "$ref": "#/definitions/AWS::IVS::StreamKey" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index c30cb1c2e7..8ddd819c44 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -15494,6 +15494,9 @@ "Properties": { "additionalProperties": false, "properties": { + "DefaultValue": { + "type": "string" + }, "Name": { "type": "string" }, @@ -16783,6 +16786,9 @@ "MaxConcurrentPercentage": { "type": "number" }, + "RegionConcurrencyType": { + "type": "string" + }, "RegionOrder": { "items": { "type": "string" @@ -25703,6 +25709,9 @@ "RedshiftSettings": { "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" }, + "ResourceIdentifier": { + "type": "string" + }, "S3Settings": { "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" }, @@ -26164,6 +26173,9 @@ "ReplicationSubnetGroupIdentifier": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -26334,6 +26346,9 @@ "ReplicationTaskSettings": { "type": "string" }, + "ResourceIdentifier": { + "type": "string" + }, "SourceEndpointArn": { "type": "string" }, @@ -29486,6 +29501,9 @@ }, "type": "array" }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, "LocalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" @@ -29616,6 +29634,18 @@ ], "type": "object" }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, "AWS::DynamoDB::Table.LocalSecondaryIndex": { "additionalProperties": false, "properties": { @@ -30993,6 +31023,72 @@ ], "type": "object" }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::FlowLog": { "additionalProperties": false, "properties": { @@ -39439,6 +39535,9 @@ "BackupPolicy": { "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, "Encrypted": { "type": "boolean" }, @@ -42238,6 +42337,12 @@ } }, "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42504,6 +42609,12 @@ "properties": { "Description": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -42644,6 +42755,12 @@ "type": "string" }, "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -47016,12 +47133,6 @@ "InstanceRoleARN": { "type": "string" }, - "LogPaths": { - "items": { - "type": "string" - }, - "type": "array" - }, "MaxSize": { "type": "number" }, @@ -47054,18 +47165,8 @@ }, "ScriptId": { "type": "string" - }, - "ServerLaunchParameters": { - "type": "string" - }, - "ServerLaunchPath": { - "type": "string" } }, - "required": [ - "EC2InstanceType", - "Name" - ], "type": "object" }, "Type": { @@ -47084,8 +47185,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -54817,6 +54917,9 @@ "Name": { "type": "string" }, + "RecordingConfigurationArn": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -54920,6 +55023,101 @@ ], "type": "object" }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { @@ -55141,6 +55339,9 @@ "ImageOsVersionOverride": { "type": "string" }, + "InstanceConfiguration": { + "type": "object" + }, "KmsKeyId": { "type": "string" }, @@ -55212,6 +55413,66 @@ }, "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { "additionalProperties": false, "properties": { @@ -55314,6 +55575,12 @@ "ContainerDistributionConfiguration": { "type": "object" }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, "LicenseConfigurationArns": { "items": { "type": "string" @@ -55329,6 +55596,21 @@ ], "type": "object" }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::ImageBuilder::Image": { "additionalProperties": false, "properties": { @@ -57769,6 +58051,12 @@ "RuleName": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "TopicRulePayload": { "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" } @@ -57805,6 +58093,9 @@ "CloudwatchAlarm": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, "CloudwatchMetric": { "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" }, @@ -57832,6 +58123,9 @@ "IotSiteWise": { "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, "Kinesis": { "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" }, @@ -57852,6 +58146,9 @@ }, "StepFunctions": { "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" } }, "type": "object" @@ -57932,6 +58229,22 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::TopicRule.CloudwatchMetricAction": { "additionalProperties": false, "properties": { @@ -58045,6 +58358,9 @@ "AWS::IoT::TopicRule.FirehoseAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "DeliveryStreamName": { "type": "string" }, @@ -58113,6 +58429,9 @@ "AWS::IoT::TopicRule.IotAnalyticsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "ChannelName": { "type": "string" }, @@ -58129,6 +58448,9 @@ "AWS::IoT::TopicRule.IotEventsAction": { "additionalProperties": false, "properties": { + "BatchMode": { + "type": "boolean" + }, "InputName": { "type": "string" }, @@ -58164,6 +58486,38 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, "AWS::IoT::TopicRule.KinesisAction": { "additionalProperties": false, "properties": { @@ -58350,6 +58704,77 @@ ], "type": "object" }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimensionsList" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimensionsList": { + "additionalProperties": false, + "properties": { + "TimestreamDimensionsList": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, "AWS::IoT::TopicRule.TopicRulePayload": { "additionalProperties": false, "properties": { @@ -58377,6 +58802,7 @@ }, "required": [ "Actions", + "RuleDisabled", "Sql" ], "type": "object" @@ -59534,6 +59960,10 @@ "type": "array" } }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], "type": "object" }, "Type": { @@ -59552,7 +59982,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -59611,6 +60042,9 @@ "type": "string" } }, + "required": [ + "TimeInSeconds" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { @@ -59626,6 +60060,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" } }, + "required": [ + "Value" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { @@ -59653,6 +60090,9 @@ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { @@ -59668,6 +60108,10 @@ "type": "array" } }, + "required": [ + "InitialStateName", + "States" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDB": { @@ -59704,6 +60148,11 @@ "type": "string" } }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.DynamoDBv2": { @@ -59716,6 +60165,9 @@ "type": "string" } }, + "required": [ + "TableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Event": { @@ -59734,6 +60186,9 @@ "type": "string" } }, + "required": [ + "EventName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Firehose": { @@ -59749,6 +60204,9 @@ "type": "string" } }, + "required": [ + "DeliveryStreamName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotEvents": { @@ -59761,6 +60219,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "InputName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotSiteWise": { @@ -59782,6 +60243,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" } }, + "required": [ + "PropertyValue" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.IotTopicPublish": { @@ -59794,6 +60258,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "MqttTopic" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Lambda": { @@ -59806,6 +60273,9 @@ "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" } }, + "required": [ + "FunctionArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.OnEnter": { @@ -59860,6 +60330,10 @@ "type": "string" } }, + "required": [ + "ContentExpression", + "Type" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.ResetTimer": { @@ -59869,6 +60343,9 @@ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetTimer": { @@ -59884,6 +60361,9 @@ "type": "string" } }, + "required": [ + "TimerName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.SetVariable": { @@ -59896,6 +60376,10 @@ "type": "string" } }, + "required": [ + "Value", + "VariableName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sns": { @@ -59908,6 +60392,9 @@ "type": "string" } }, + "required": [ + "TargetArn" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.Sqs": { @@ -59923,6 +60410,9 @@ "type": "boolean" } }, + "required": [ + "QueueUrl" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.State": { @@ -59941,6 +60431,9 @@ "type": "string" } }, + "required": [ + "StateName" + ], "type": "object" }, "AWS::IoTEvents::DetectorModel.TransitionEvent": { @@ -59962,6 +60455,11 @@ "type": "string" } }, + "required": [ + "Condition", + "EventName", + "NextState" + ], "type": "object" }, "AWS::IoTEvents::Input": { @@ -60012,6 +60510,9 @@ "type": "array" } }, + "required": [ + "InputDefinition" + ], "type": "object" }, "Type": { @@ -60030,7 +60531,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -60041,6 +60543,9 @@ "type": "string" } }, + "required": [ + "JsonPath" + ], "type": "object" }, "AWS::IoTEvents::Input.InputDefinition": { @@ -60053,6 +60558,9 @@ "type": "array" } }, + "required": [ + "Attributes" + ], "type": "object" }, "AWS::IoTSiteWise::AccessPolicy": { @@ -68760,7 +69268,7 @@ "additionalProperties": false, "properties": { "AirflowConfigurationOptions": { - "$ref": "#/definitions/AWS::MWAA::Environment.AirflowConfigurationOptions" + "type": "object" }, "AirflowVersion": { "type": "string" @@ -68783,6 +69291,9 @@ "MaxWorkers": { "type": "number" }, + "MinWorkers": { + "type": "number" + }, "Name": { "type": "string" }, @@ -68840,11 +69351,6 @@ ], "type": "object" }, - "AWS::MWAA::Environment.AirflowConfigurationOptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -71283,6 +71789,9 @@ "GlobalConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, "NielsenConfiguration": { "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" }, @@ -72041,6 +72550,11 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::MediaLive::Channel.InputAttachment": { "additionalProperties": false, "properties": { @@ -72409,6 +72923,27 @@ "properties": {}, "type": "object" }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.Mp2Settings": { "additionalProperties": false, "properties": { @@ -73104,6 +73639,9 @@ "ColorSpace": { "type": "string" }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, "ColorSpaceUsage": { "type": "string" }, @@ -73113,6 +73651,15 @@ }, "type": "object" }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, "AWS::MediaLive::Channel.VideoSelectorPid": { "additionalProperties": false, "properties": { @@ -105384,6 +105931,9 @@ { "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, { "$ref": "#/definitions/AWS::EC2::FlowLog" }, @@ -105945,6 +106495,9 @@ { "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, { "$ref": "#/definitions/AWS::IVS::StreamKey" },