diff --git a/cloudformation/all.go b/cloudformation/all.go index 77e720960a..8c029f493f 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -412,6 +412,8 @@ func AllResources() map[string]Resource { "AWS::EC2::Volume": &ec2.Volume{}, "AWS::EC2::VolumeAttachment": &ec2.VolumeAttachment{}, "AWS::ECR::PublicRepository": &ecr.PublicRepository{}, + "AWS::ECR::RegistryPolicy": &ecr.RegistryPolicy{}, + "AWS::ECR::ReplicationConfiguration": &ecr.ReplicationConfiguration{}, "AWS::ECR::Repository": &ecr.Repository{}, "AWS::ECS::CapacityProvider": &ecs.CapacityProvider{}, "AWS::ECS::Cluster": &ecs.Cluster{}, @@ -432,6 +434,7 @@ func AllResources() map[string]Resource { "AWS::EMR::Step": &emr.Step{}, "AWS::EMRContainers::VirtualCluster": &emrcontainers.VirtualCluster{}, "AWS::ElastiCache::CacheCluster": &elasticache.CacheCluster{}, + "AWS::ElastiCache::GlobalReplicationGroup": &elasticache.GlobalReplicationGroup{}, "AWS::ElastiCache::ParameterGroup": &elasticache.ParameterGroup{}, "AWS::ElastiCache::ReplicationGroup": &elasticache.ReplicationGroup{}, "AWS::ElastiCache::SecurityGroup": &elasticache.SecurityGroup{}, @@ -525,6 +528,7 @@ func AllResources() map[string]Resource { "AWS::IVS::PlaybackKeyPair": &ivs.PlaybackKeyPair{}, "AWS::IVS::StreamKey": &ivs.StreamKey{}, "AWS::ImageBuilder::Component": &imagebuilder.Component{}, + "AWS::ImageBuilder::ContainerRecipe": &imagebuilder.ContainerRecipe{}, "AWS::ImageBuilder::DistributionConfiguration": &imagebuilder.DistributionConfiguration{}, "AWS::ImageBuilder::Image": &imagebuilder.Image{}, "AWS::ImageBuilder::ImagePipeline": &imagebuilder.ImagePipeline{}, @@ -7070,6 +7074,54 @@ func (t *Template) GetECRPublicRepositoryWithName(name string) (*ecr.PublicRepos return nil, fmt.Errorf("resource %q of type ecr.PublicRepository not found", name) } +// GetAllECRRegistryPolicyResources retrieves all ecr.RegistryPolicy items from an AWS CloudFormation template +func (t *Template) GetAllECRRegistryPolicyResources() map[string]*ecr.RegistryPolicy { + results := map[string]*ecr.RegistryPolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecr.RegistryPolicy: + results[name] = resource + } + } + return results +} + +// GetECRRegistryPolicyWithName retrieves all ecr.RegistryPolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECRRegistryPolicyWithName(name string) (*ecr.RegistryPolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecr.RegistryPolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecr.RegistryPolicy not found", name) +} + +// GetAllECRReplicationConfigurationResources retrieves all ecr.ReplicationConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllECRReplicationConfigurationResources() map[string]*ecr.ReplicationConfiguration { + results := map[string]*ecr.ReplicationConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ecr.ReplicationConfiguration: + results[name] = resource + } + } + return results +} + +// GetECRReplicationConfigurationWithName retrieves all ecr.ReplicationConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetECRReplicationConfigurationWithName(name string) (*ecr.ReplicationConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ecr.ReplicationConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ecr.ReplicationConfiguration not found", name) +} + // GetAllECRRepositoryResources retrieves all ecr.Repository items from an AWS CloudFormation template func (t *Template) GetAllECRRepositoryResources() map[string]*ecr.Repository { results := map[string]*ecr.Repository{} @@ -7550,6 +7602,30 @@ func (t *Template) GetElastiCacheCacheClusterWithName(name string) (*elasticache return nil, fmt.Errorf("resource %q of type elasticache.CacheCluster not found", name) } +// GetAllElastiCacheGlobalReplicationGroupResources retrieves all elasticache.GlobalReplicationGroup items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheGlobalReplicationGroupResources() map[string]*elasticache.GlobalReplicationGroup { + results := map[string]*elasticache.GlobalReplicationGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.GlobalReplicationGroup: + results[name] = resource + } + } + return results +} + +// GetElastiCacheGlobalReplicationGroupWithName retrieves all elasticache.GlobalReplicationGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheGlobalReplicationGroupWithName(name string) (*elasticache.GlobalReplicationGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.GlobalReplicationGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.GlobalReplicationGroup not found", name) +} + // GetAllElastiCacheParameterGroupResources retrieves all elasticache.ParameterGroup items from an AWS CloudFormation template func (t *Template) GetAllElastiCacheParameterGroupResources() map[string]*elasticache.ParameterGroup { results := map[string]*elasticache.ParameterGroup{} @@ -9782,6 +9858,30 @@ func (t *Template) GetImageBuilderComponentWithName(name string) (*imagebuilder. return nil, fmt.Errorf("resource %q of type imagebuilder.Component not found", name) } +// GetAllImageBuilderContainerRecipeResources retrieves all imagebuilder.ContainerRecipe items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderContainerRecipeResources() map[string]*imagebuilder.ContainerRecipe { + results := map[string]*imagebuilder.ContainerRecipe{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.ContainerRecipe: + results[name] = resource + } + } + return results +} + +// GetImageBuilderContainerRecipeWithName retrieves all imagebuilder.ContainerRecipe items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderContainerRecipeWithName(name string) (*imagebuilder.ContainerRecipe, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.ContainerRecipe: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.ContainerRecipe not found", name) +} + // GetAllImageBuilderDistributionConfigurationResources retrieves all imagebuilder.DistributionConfiguration items from an AWS CloudFormation template func (t *Template) GetAllImageBuilderDistributionConfigurationResources() map[string]*imagebuilder.DistributionConfiguration { results := map[string]*imagebuilder.DistributionConfiguration{} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute.go b/cloudformation/appmesh/aws-appmesh-gatewayroute.go index 055a388be3..13fa759772 100644 --- a/cloudformation/appmesh/aws-appmesh-gatewayroute.go +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute.go @@ -14,7 +14,7 @@ import ( type GatewayRoute struct { // GatewayRouteName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html#cfn-appmesh-gatewayroute-gatewayroutename GatewayRouteName string `json:"GatewayRouteName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-mesh.go b/cloudformation/appmesh/aws-appmesh-mesh.go index 39a5cbfa96..70d127c8ea 100644 --- a/cloudformation/appmesh/aws-appmesh-mesh.go +++ b/cloudformation/appmesh/aws-appmesh-mesh.go @@ -14,7 +14,7 @@ import ( type Mesh struct { // MeshName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-meshname MeshName string `json:"MeshName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-route.go b/cloudformation/appmesh/aws-appmesh-route.go index bf0306b4ff..4bd49baf93 100644 --- a/cloudformation/appmesh/aws-appmesh-route.go +++ b/cloudformation/appmesh/aws-appmesh-route.go @@ -24,7 +24,7 @@ type Route struct { MeshOwner string `json:"MeshOwner,omitempty"` // RouteName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-routename RouteName string `json:"RouteName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualgateway.go b/cloudformation/appmesh/aws-appmesh-virtualgateway.go index 792696fbf0..aa9032adac 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualgateway.go +++ b/cloudformation/appmesh/aws-appmesh-virtualgateway.go @@ -34,7 +34,7 @@ type VirtualGateway struct { Tags []tags.Tag `json:"Tags,omitempty"` // VirtualGatewayName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html#cfn-appmesh-virtualgateway-virtualgatewayname VirtualGatewayName string `json:"VirtualGatewayName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode.go b/cloudformation/appmesh/aws-appmesh-virtualnode.go index 06d96857ef..28d4fa1366 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode.go @@ -34,7 +34,7 @@ type VirtualNode struct { Tags []tags.Tag `json:"Tags,omitempty"` // VirtualNodeName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-virtualnodename VirtualNodeName string `json:"VirtualNodeName,omitempty"` diff --git a/cloudformation/appmesh/aws-appmesh-virtualrouter.go b/cloudformation/appmesh/aws-appmesh-virtualrouter.go index 68b6008a30..a4f74f565a 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualrouter.go +++ b/cloudformation/appmesh/aws-appmesh-virtualrouter.go @@ -34,7 +34,7 @@ type VirtualRouter struct { Tags []tags.Tag `json:"Tags,omitempty"` // VirtualRouterName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-virtualroutername VirtualRouterName string `json:"VirtualRouterName,omitempty"` diff --git a/cloudformation/cassandra/aws-cassandra-keyspace.go b/cloudformation/cassandra/aws-cassandra-keyspace.go index cfcddcb589..0f1e587762 100644 --- a/cloudformation/cassandra/aws-cassandra-keyspace.go +++ b/cloudformation/cassandra/aws-cassandra-keyspace.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Keyspace AWS CloudFormation Resource (AWS::Cassandra::Keyspace) @@ -17,6 +18,11 @@ type Keyspace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename KeyspaceName string `json:"KeyspaceName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cassandra/aws-cassandra-table.go b/cloudformation/cassandra/aws-cassandra-table.go index d717ba5529..6f30e37c88 100644 --- a/cloudformation/cassandra/aws-cassandra-table.go +++ b/cloudformation/cassandra/aws-cassandra-table.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v4/cloudformation/policies" + "github.com/awslabs/goformation/v4/cloudformation/tags" ) // Table AWS CloudFormation Resource (AWS::Cassandra::Table) @@ -32,6 +33,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns PartitionKeyColumns []Table_Column `json:"PartitionKeyColumns,omitempty"` + // PointInTimeRecoveryEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-pointintimerecoveryenabled + PointInTimeRecoveryEnabled bool `json:"PointInTimeRecoveryEnabled,omitempty"` + // RegularColumns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns @@ -42,6 +48,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename TableName string `json:"TableName,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go b/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go index 06063b628b..0a943e818c 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-metricstream.go @@ -33,6 +33,11 @@ type MetricStream struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-name Name string `json:"Name,omitempty"` + // OutputFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-outputformat + OutputFormat string `json:"OutputFormat,omitempty"` + // RoleArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-rolearn diff --git a/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go b/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go index 309fa681e3..2a87de251d 100644 --- a/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go +++ b/cloudformation/cognito/aws-cognito-userpoolclient_analyticsconfiguration.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html type UserPoolClient_AnalyticsConfiguration struct { + // ApplicationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationarn + ApplicationArn string `json:"ApplicationArn,omitempty"` + // ApplicationId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationid diff --git a/cloudformation/databrew/aws-databrew-job_csvoutputoptions.go b/cloudformation/databrew/aws-databrew-job_csvoutputoptions.go new file mode 100644 index 0000000000..08b58320ef --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_csvoutputoptions.go @@ -0,0 +1,35 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Job_CsvOutputOptions AWS CloudFormation Resource (AWS::DataBrew::Job.CsvOutputOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-csvoutputoptions.html +type Job_CsvOutputOptions struct { + + // Delimiter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-csvoutputoptions.html#cfn-databrew-job-csvoutputoptions-delimiter + Delimiter string `json:"Delimiter,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 *Job_CsvOutputOptions) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.CsvOutputOptions" +} diff --git a/cloudformation/databrew/aws-databrew-job_output.go b/cloudformation/databrew/aws-databrew-job_output.go index 9f5628f762..e697f17df7 100644 --- a/cloudformation/databrew/aws-databrew-job_output.go +++ b/cloudformation/databrew/aws-databrew-job_output.go @@ -18,6 +18,11 @@ type Job_Output struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-format Format string `json:"Format,omitempty"` + // FormatOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-formatoptions + FormatOptions *Job_OutputFormatOptions `json:"FormatOptions,omitempty"` + // Location AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-output.html#cfn-databrew-job-output-location diff --git a/cloudformation/databrew/aws-databrew-job_outputformatoptions.go b/cloudformation/databrew/aws-databrew-job_outputformatoptions.go new file mode 100644 index 0000000000..b124d4d842 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_outputformatoptions.go @@ -0,0 +1,35 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// Job_OutputFormatOptions AWS CloudFormation Resource (AWS::DataBrew::Job.OutputFormatOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputformatoptions.html +type Job_OutputFormatOptions struct { + + // Csv AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-outputformatoptions.html#cfn-databrew-job-outputformatoptions-csv + Csv *Job_CsvOutputOptions `json:"Csv,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 *Job_OutputFormatOptions) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.OutputFormatOptions" +} diff --git a/cloudformation/ecr/aws-ecr-registrypolicy.go b/cloudformation/ecr/aws-ecr-registrypolicy.go new file mode 100644 index 0000000000..f1044fcd5c --- /dev/null +++ b/cloudformation/ecr/aws-ecr-registrypolicy.go @@ -0,0 +1,106 @@ +package ecr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// RegistryPolicy AWS CloudFormation Resource (AWS::ECR::RegistryPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html +type RegistryPolicy struct { + + // PolicyText AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html#cfn-ecr-registrypolicy-policytext + PolicyText interface{} `json:"PolicyText,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 *RegistryPolicy) AWSCloudFormationType() string { + return "AWS::ECR::RegistryPolicy" +} + +// 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 RegistryPolicy) MarshalJSON() ([]byte, error) { + type Properties RegistryPolicy + 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 *RegistryPolicy) UnmarshalJSON(b []byte) error { + type Properties RegistryPolicy + 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 = RegistryPolicy(*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/ecr/aws-ecr-replicationconfiguration.go b/cloudformation/ecr/aws-ecr-replicationconfiguration.go new file mode 100644 index 0000000000..f9b0946272 --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration.go @@ -0,0 +1,106 @@ +package ecr + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html +type ReplicationConfiguration struct { + + // ReplicationConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html#cfn-ecr-replicationconfiguration-replicationconfiguration + ReplicationConfiguration *ReplicationConfiguration_ReplicationConfiguration `json:"ReplicationConfiguration,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 *ReplicationConfiguration) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration" +} + +// 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 ReplicationConfiguration) MarshalJSON() ([]byte, error) { + type Properties ReplicationConfiguration + 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 *ReplicationConfiguration) UnmarshalJSON(b []byte) error { + type Properties ReplicationConfiguration + 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 = ReplicationConfiguration(*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/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go new file mode 100644 index 0000000000..b6660623df --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationconfiguration.go @@ -0,0 +1,35 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration_ReplicationConfiguration AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration.ReplicationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html +type ReplicationConfiguration_ReplicationConfiguration struct { + + // Rules AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationconfiguration.html#cfn-ecr-replicationconfiguration-replicationconfiguration-rules + Rules []ReplicationConfiguration_ReplicationRule `json:"Rules,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 *ReplicationConfiguration_ReplicationConfiguration) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" +} diff --git a/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go new file mode 100644 index 0000000000..54f8f71d5d --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationdestination.go @@ -0,0 +1,40 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration_ReplicationDestination AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration.ReplicationDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html +type ReplicationConfiguration_ReplicationDestination struct { + + // Region AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html#cfn-ecr-replicationconfiguration-replicationdestination-region + Region string `json:"Region,omitempty"` + + // RegistryId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationdestination.html#cfn-ecr-replicationconfiguration-replicationdestination-registryid + RegistryId string `json:"RegistryId,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 *ReplicationConfiguration_ReplicationDestination) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration.ReplicationDestination" +} diff --git a/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go new file mode 100644 index 0000000000..0c60204caa --- /dev/null +++ b/cloudformation/ecr/aws-ecr-replicationconfiguration_replicationrule.go @@ -0,0 +1,35 @@ +package ecr + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ReplicationConfiguration_ReplicationRule AWS CloudFormation Resource (AWS::ECR::ReplicationConfiguration.ReplicationRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html +type ReplicationConfiguration_ReplicationRule struct { + + // Destinations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-replicationconfiguration-replicationrule.html#cfn-ecr-replicationconfiguration-replicationrule-destinations + Destinations []ReplicationConfiguration_ReplicationDestination `json:"Destinations,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 *ReplicationConfiguration_ReplicationRule) AWSCloudFormationType() string { + return "AWS::ECR::ReplicationConfiguration.ReplicationRule" +} diff --git a/cloudformation/ecs/aws-ecs-service.go b/cloudformation/ecs/aws-ecs-service.go index d1f6f9897a..9e7bcc5c5a 100644 --- a/cloudformation/ecs/aws-ecs-service.go +++ b/cloudformation/ecs/aws-ecs-service.go @@ -43,6 +43,11 @@ type Service struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableecsmanagedtags EnableECSManagedTags bool `json:"EnableECSManagedTags,omitempty"` + // EnableExecuteCommand AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableexecutecommand + EnableExecuteCommand bool `json:"EnableExecuteCommand,omitempty"` + // HealthCheckGracePeriodSeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-healthcheckgraceperiodseconds diff --git a/cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go new file mode 100644 index 0000000000..81f5b6b9b7 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup.go @@ -0,0 +1,141 @@ +package elasticache + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html +type GlobalReplicationGroup struct { + + // AutomaticFailoverEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-automaticfailoverenabled + AutomaticFailoverEnabled bool `json:"AutomaticFailoverEnabled,omitempty"` + + // CacheNodeType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cachenodetype + CacheNodeType string `json:"CacheNodeType,omitempty"` + + // EngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-engineversion + EngineVersion string `json:"EngineVersion,omitempty"` + + // GlobalNodeGroupCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalnodegroupcount + GlobalNodeGroupCount int `json:"GlobalNodeGroupCount,omitempty"` + + // GlobalReplicationGroupDescription AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription + GlobalReplicationGroupDescription string `json:"GlobalReplicationGroupDescription,omitempty"` + + // GlobalReplicationGroupIdSuffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupidsuffix + GlobalReplicationGroupIdSuffix string `json:"GlobalReplicationGroupIdSuffix,omitempty"` + + // Members AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-members + Members []GlobalReplicationGroup_GlobalReplicationGroupMember `json:"Members,omitempty"` + + // RegionalConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-regionalconfigurations + RegionalConfigurations []GlobalReplicationGroup_RegionalConfiguration `json:"RegionalConfigurations,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 *GlobalReplicationGroup) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup" +} + +// 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 GlobalReplicationGroup) MarshalJSON() ([]byte, error) { + type Properties GlobalReplicationGroup + 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 *GlobalReplicationGroup) UnmarshalJSON(b []byte) error { + type Properties GlobalReplicationGroup + 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 = GlobalReplicationGroup(*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/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go new file mode 100644 index 0000000000..c84fd6472e --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_globalreplicationgroupmember.go @@ -0,0 +1,45 @@ +package elasticache + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup_GlobalReplicationGroupMember AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html +type GlobalReplicationGroup_GlobalReplicationGroupMember struct { + + // ReplicationGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupid + ReplicationGroupId string `json:"ReplicationGroupId,omitempty"` + + // ReplicationGroupRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupregion + ReplicationGroupRegion string `json:"ReplicationGroupRegion,omitempty"` + + // Role AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-role + Role string `json:"Role,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 *GlobalReplicationGroup_GlobalReplicationGroupMember) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" +} diff --git a/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go new file mode 100644 index 0000000000..f362933bb7 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_regionalconfiguration.go @@ -0,0 +1,45 @@ +package elasticache + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup_RegionalConfiguration AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html +type GlobalReplicationGroup_RegionalConfiguration struct { + + // ReplicationGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupid + ReplicationGroupId string `json:"ReplicationGroupId,omitempty"` + + // ReplicationGroupRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupregion + ReplicationGroupRegion string `json:"ReplicationGroupRegion,omitempty"` + + // ReshardingConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-reshardingconfigurations + ReshardingConfigurations []GlobalReplicationGroup_ReshardingConfiguration `json:"ReshardingConfigurations,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 *GlobalReplicationGroup_RegionalConfiguration) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" +} diff --git a/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go new file mode 100644 index 0000000000..b54efb5811 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-globalreplicationgroup_reshardingconfiguration.go @@ -0,0 +1,40 @@ +package elasticache + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// GlobalReplicationGroup_ReshardingConfiguration AWS CloudFormation Resource (AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html +type GlobalReplicationGroup_ReshardingConfiguration struct { + + // NodeGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-nodegroupid + NodeGroupId string `json:"NodeGroupId,omitempty"` + + // PreferredAvailabilityZones AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-preferredavailabilityzones + PreferredAvailabilityZones []string `json:"PreferredAvailabilityZones,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 *GlobalReplicationGroup_ReshardingConfiguration) AWSCloudFormationType() string { + return "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go new file mode 100644 index 0000000000..4d80705aea --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go @@ -0,0 +1,171 @@ +package imagebuilder + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html +type ContainerRecipe struct { + + // Components AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-components + Components []ContainerRecipe_ComponentConfiguration `json:"Components,omitempty"` + + // ContainerType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-containertype + ContainerType string `json:"ContainerType,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-description + Description string `json:"Description,omitempty"` + + // DockerfileTemplateData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-dockerfiletemplatedata + DockerfileTemplateData string `json:"DockerfileTemplateData,omitempty"` + + // DockerfileTemplateUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-dockerfiletemplateuri + DockerfileTemplateUri string `json:"DockerfileTemplateUri,omitempty"` + + // ImageOsVersionOverride AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-imageosversionoverride + ImageOsVersionOverride string `json:"ImageOsVersionOverride,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 + KmsKeyId string `json:"KmsKeyId,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-name + Name string `json:"Name,omitempty"` + + // ParentImage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-parentimage + ParentImage string `json:"ParentImage,omitempty"` + + // PlatformOverride AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-platformoverride + PlatformOverride string `json:"PlatformOverride,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-tags + Tags map[string]string `json:"Tags,omitempty"` + + // TargetRepository AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-targetrepository + TargetRepository *ContainerRecipe_TargetContainerRepository `json:"TargetRepository,omitempty"` + + // Version AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-version + Version string `json:"Version,omitempty"` + + // WorkingDirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-workingdirectory + WorkingDirectory string `json:"WorkingDirectory,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) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe" +} + +// 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 ContainerRecipe) MarshalJSON() ([]byte, error) { + type Properties ContainerRecipe + 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 *ContainerRecipe) UnmarshalJSON(b []byte) error { + type Properties ContainerRecipe + 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 = ContainerRecipe(*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/imagebuilder/aws-imagebuilder-containerrecipe_componentconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_componentconfiguration.go new file mode 100644 index 0000000000..a115ca454c --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_componentconfiguration.go @@ -0,0 +1,35 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_ComponentConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentconfiguration.html +type ContainerRecipe_ComponentConfiguration struct { + + // ComponentArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentconfiguration.html#cfn-imagebuilder-containerrecipe-componentconfiguration-componentarn + ComponentArn string `json:"ComponentArn,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_ComponentConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go new file mode 100644 index 0000000000..10d1ee291e --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe_targetcontainerrepository.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v4/cloudformation/policies" +) + +// ContainerRecipe_TargetContainerRepository AWS CloudFormation Resource (AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html +type ContainerRecipe_TargetContainerRepository struct { + + // RepositoryName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html#cfn-imagebuilder-containerrecipe-targetcontainerrepository-repositoryname + RepositoryName string `json:"RepositoryName,omitempty"` + + // Service AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html#cfn-imagebuilder-containerrecipe-targetcontainerrepository-service + Service string `json:"Service,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_TargetContainerRepository) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" +} diff --git a/cloudformation/iotwireless/aws-iotwireless-destination.go b/cloudformation/iotwireless/aws-iotwireless-destination.go index f770eb7697..7cd7a0b667 100644 --- a/cloudformation/iotwireless/aws-iotwireless-destination.go +++ b/cloudformation/iotwireless/aws-iotwireless-destination.go @@ -33,11 +33,6 @@ type Destination struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-name Name string `json:"Name,omitempty"` - // NextToken AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-nexttoken - NextToken string `json:"NextToken,omitempty"` - // RoleArn AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html#cfn-iotwireless-destination-rolearn diff --git a/cloudformation/iotwireless/aws-iotwireless-deviceprofile.go b/cloudformation/iotwireless/aws-iotwireless-deviceprofile.go index eafb0d3e79..092e2e360f 100644 --- a/cloudformation/iotwireless/aws-iotwireless-deviceprofile.go +++ b/cloudformation/iotwireless/aws-iotwireless-deviceprofile.go @@ -13,21 +13,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html type DeviceProfile struct { - // LoRaWANDeviceProfile AWS CloudFormation Property + // LoRaWAN AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-lorawandeviceprofile - LoRaWANDeviceProfile *DeviceProfile_LoRaWANDeviceProfile `json:"LoRaWANDeviceProfile,omitempty"` + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-lorawan + LoRaWAN *DeviceProfile_LoRaWANDeviceProfile `json:"LoRaWAN,omitempty"` // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-name Name string `json:"Name,omitempty"` - // NextToken AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-nexttoken - NextToken string `json:"NextToken,omitempty"` - // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html#cfn-iotwireless-deviceprofile-tags diff --git a/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go b/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go index d509a43dde..dc69faa6f9 100644 --- a/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go +++ b/cloudformation/iotwireless/aws-iotwireless-serviceprofile.go @@ -13,26 +13,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html type ServiceProfile struct { - // LoRaWANGetServiceProfileInfo AWS CloudFormation Property + // LoRaWAN AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-lorawangetserviceprofileinfo - LoRaWANGetServiceProfileInfo *ServiceProfile_LoRaWANGetServiceProfileInfo `json:"LoRaWANGetServiceProfileInfo,omitempty"` - - // LoRaWANServiceProfile AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-lorawanserviceprofile - LoRaWANServiceProfile *ServiceProfile_LoRaWANServiceProfile `json:"LoRaWANServiceProfile,omitempty"` + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-lorawan + LoRaWAN *ServiceProfile_LoRaWANServiceProfile `json:"LoRaWAN,omitempty"` // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-name Name string `json:"Name,omitempty"` - // NextToken AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-nexttoken - NextToken string `json:"NextToken,omitempty"` - // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html#cfn-iotwireless-serviceprofile-tags diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go index f78a59136f..eb7566245b 100644 --- a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice.go @@ -23,21 +23,21 @@ type WirelessDevice struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-destinationname DestinationName string `json:"DestinationName,omitempty"` - // LoRaWANDevice AWS CloudFormation Property + // LastUplinkReceivedAt AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-lorawandevice - LoRaWANDevice *WirelessDevice_LoRaWANDevice `json:"LoRaWANDevice,omitempty"` + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-lastuplinkreceivedat + LastUplinkReceivedAt string `json:"LastUplinkReceivedAt,omitempty"` + + // LoRaWAN AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-lorawan + LoRaWAN *WirelessDevice_LoRaWANDevice `json:"LoRaWAN,omitempty"` // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-name Name string `json:"Name,omitempty"` - // NextToken AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-nexttoken - NextToken string `json:"NextToken,omitempty"` - // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html#cfn-iotwireless-wirelessdevice-tags diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go index e6e08628fb..4c118c98ef 100644 --- a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_abpv10x.go @@ -4,9 +4,9 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/policies" ) -// WirelessDevice_AbpV10X AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.AbpV10X) +// WirelessDevice_AbpV10x AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.AbpV10x) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv10x.html -type WirelessDevice_AbpV10X struct { +type WirelessDevice_AbpV10x struct { // DevAddr AWS CloudFormation Property // Required: true @@ -16,7 +16,7 @@ type WirelessDevice_AbpV10X struct { // SessionKeys AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-abpv10x.html#cfn-iotwireless-wirelessdevice-abpv10x-sessionkeys - SessionKeys *WirelessDevice_SessionKeysAbpV10X `json:"SessionKeys,omitempty"` + SessionKeys *WirelessDevice_SessionKeysAbpV10x `json:"SessionKeys,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` @@ -35,6 +35,6 @@ type WirelessDevice_AbpV10X struct { } // AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *WirelessDevice_AbpV10X) AWSCloudFormationType() string { - return "AWS::IoTWireless::WirelessDevice.AbpV10X" +func (r *WirelessDevice_AbpV10x) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.AbpV10x" } diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go index d7e2bc7af8..bfea8b341d 100644 --- a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_lorawandevice.go @@ -8,10 +8,10 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html type WirelessDevice_LoRaWANDevice struct { - // AbpV10X AWS CloudFormation Property + // AbpV10x AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-abpv10x - AbpV10X *WirelessDevice_AbpV10X `json:"AbpV10X,omitempty"` + AbpV10x *WirelessDevice_AbpV10x `json:"AbpV10x,omitempty"` // AbpV11 AWS CloudFormation Property // Required: false @@ -28,10 +28,10 @@ type WirelessDevice_LoRaWANDevice struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-deviceprofileid DeviceProfileId string `json:"DeviceProfileId,omitempty"` - // OtaaV10X AWS CloudFormation Property + // OtaaV10x AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html#cfn-iotwireless-wirelessdevice-lorawandevice-otaav10x - OtaaV10X *WirelessDevice_OtaaV10X `json:"OtaaV10X,omitempty"` + OtaaV10x *WirelessDevice_OtaaV10x `json:"OtaaV10x,omitempty"` // OtaaV11 AWS CloudFormation Property // Required: false diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go index 0f64207f1f..0b262e23e5 100644 --- a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_otaav10x.go @@ -4,9 +4,9 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/policies" ) -// WirelessDevice_OtaaV10X AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.OtaaV10X) +// WirelessDevice_OtaaV10x AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.OtaaV10x) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-otaav10x.html -type WirelessDevice_OtaaV10X struct { +type WirelessDevice_OtaaV10x struct { // AppEui AWS CloudFormation Property // Required: true @@ -35,6 +35,6 @@ type WirelessDevice_OtaaV10X struct { } // AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *WirelessDevice_OtaaV10X) AWSCloudFormationType() string { - return "AWS::IoTWireless::WirelessDevice.OtaaV10X" +func (r *WirelessDevice_OtaaV10x) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.OtaaV10x" } diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go index 52b0f74b50..fb52e6c170 100644 --- a/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessdevice_sessionkeysabpv10x.go @@ -4,9 +4,9 @@ import ( "github.com/awslabs/goformation/v4/cloudformation/policies" ) -// WirelessDevice_SessionKeysAbpV10X AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X) +// WirelessDevice_SessionKeysAbpV10x AWS CloudFormation Resource (AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x) // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-sessionkeysabpv10x.html -type WirelessDevice_SessionKeysAbpV10X struct { +type WirelessDevice_SessionKeysAbpV10x struct { // AppSKey AWS CloudFormation Property // Required: true @@ -35,6 +35,6 @@ type WirelessDevice_SessionKeysAbpV10X struct { } // AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *WirelessDevice_SessionKeysAbpV10X) AWSCloudFormationType() string { - return "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X" +func (r *WirelessDevice_SessionKeysAbpV10x) AWSCloudFormationType() string { + return "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" } diff --git a/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go b/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go index b1305635f3..7a97a8f8a4 100644 --- a/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go +++ b/cloudformation/iotwireless/aws-iotwireless-wirelessgateway.go @@ -18,21 +18,21 @@ type WirelessGateway struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-description Description string `json:"Description,omitempty"` - // LoRaWANGateway AWS CloudFormation Property + // LastUplinkReceivedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-lastuplinkreceivedat + LastUplinkReceivedAt string `json:"LastUplinkReceivedAt,omitempty"` + + // LoRaWAN AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-lorawangateway - LoRaWANGateway *WirelessGateway_LoRaWANGateway `json:"LoRaWANGateway,omitempty"` + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-lorawan + LoRaWAN *WirelessGateway_LoRaWANGateway `json:"LoRaWAN,omitempty"` // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-name Name string `json:"Name,omitempty"` - // NextToken AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-nexttoken - NextToken string `json:"NextToken,omitempty"` - // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html#cfn-iotwireless-wirelessgateway-tags diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go index ba1e6b497d..661c5fb43e 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_cmafencryption.go @@ -11,7 +11,7 @@ type PackagingConfiguration_CmafEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-cmafencryption.html#cfn-mediapackage-packagingconfiguration-cmafencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go index 53e4fa3e88..899140450c 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_dashencryption.go @@ -11,7 +11,7 @@ type PackagingConfiguration_DashEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-dashencryption.html#cfn-mediapackage-packagingconfiguration-dashencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go index a6ee22e2f2..75a6b2dfdf 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_hlsencryption.go @@ -21,7 +21,7 @@ type PackagingConfiguration_HlsEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-hlsencryption.html#cfn-mediapackage-packagingconfiguration-hlsencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go index 277e44aaa9..1442828cfb 100644 --- a/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go +++ b/cloudformation/mediapackage/aws-mediapackage-packagingconfiguration_mssencryption.go @@ -11,7 +11,7 @@ type PackagingConfiguration_MssEncryption struct { // SpekeKeyProvider AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-packagingconfiguration-mssencryption.html#cfn-mediapackage-packagingconfiguration-mssencryption-spekekeyprovider - SpekeKeyProvider interface{} `json:"SpekeKeyProvider,omitempty"` + SpekeKeyProvider *PackagingConfiguration_SpekeKeyProvider `json:"SpekeKeyProvider,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/mwaa/aws-mwaa-environment.go b/cloudformation/mwaa/aws-mwaa-environment.go index 96ac70a97a..412515707e 100644 --- a/cloudformation/mwaa/aws-mwaa-environment.go +++ b/cloudformation/mwaa/aws-mwaa-environment.go @@ -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"` + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-name + Name string `json:"Name,omitempty"` + // NetworkConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-networkconfiguration @@ -92,11 +97,6 @@ type Environment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-webserveraccessmode WebserverAccessMode string `json:"WebserverAccessMode,omitempty"` - // WebserverUrl AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-webserverurl - WebserverUrl string `json:"WebserverUrl,omitempty"` - // WeeklyMaintenanceWindowStart AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-weeklymaintenancewindowstart diff --git a/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go b/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go index e59fd60f0e..99756eaa4b 100644 --- a/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go +++ b/cloudformation/mwaa/aws-mwaa-environment_networkconfiguration.go @@ -11,12 +11,12 @@ type Environment_NetworkConfiguration struct { // SecurityGroupIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-networkconfiguration.html#cfn-mwaa-environment-networkconfiguration-securitygroupids - SecurityGroupIds *Environment_SecurityGroupList `json:"SecurityGroupIds,omitempty"` + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` // SubnetIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mwaa-environment-networkconfiguration.html#cfn-mwaa-environment-networkconfiguration-subnetids - SubnetIds *Environment_SubnetList `json:"SubnetIds,omitempty"` + SubnetIds []string `json:"SubnetIds,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-model.go b/cloudformation/sagemaker/aws-sagemaker-model.go index 6b9f5cae82..247a277063 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model.go +++ b/cloudformation/sagemaker/aws-sagemaker-model.go @@ -28,11 +28,6 @@ type Model struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-executionrolearn ExecutionRoleArn string `json:"ExecutionRoleArn,omitempty"` - // InferenceExecutionConfig AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-inferenceexecutionconfig - InferenceExecutionConfig *Model_InferenceExecutionConfig `json:"InferenceExecutionConfig,omitempty"` - // ModelName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-modelname diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 0abfd75b68..c07f254a0f 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -7226,7 +7226,6 @@ var CloudformationSchema = `{ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -7415,9 +7414,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -7436,8 +7432,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -7518,7 +7513,6 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7986,8 +7980,7 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -8387,8 +8380,7 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -8992,8 +8984,7 @@ var CloudformationSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -14766,250 +14757,19 @@ var CloudformationSchema = `{ "properties": { "KeyspaceName": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "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": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "KeyspaceName": { - "type": "string" - }, - "PartitionKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "RegularColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "KeyspaceName", - "PartitionKeyColumns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Table.BillingMode": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ClusteringKeyColumn": { - "additionalProperties": false, - "properties": { - "Column": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "OrderBy": { - "type": "string" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Cassandra::Table.Column": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "ColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "ColumnType" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "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": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "ValidationMethod": { - "type": "string" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::Cassandra::Keyspace" ], "type": "string" }, @@ -15023,30 +14783,276 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" + "Type" ], "type": "object" }, - "AWS::Chatbot::SlackChannelConfiguration": { + "AWS::Cassandra::Table": { + "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": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "KeyspaceName": { + "type": "string" + }, + "PartitionKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, + "RegularColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyspaceName", + "PartitionKeyColumns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Table.BillingMode": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { + "type": "string" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "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": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18172,6 +18178,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "OutputFormat": { + "type": "string" + }, "RoleArn": { "type": "string" }, @@ -21657,6 +21666,9 @@ var CloudformationSchema = `{ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -25076,6 +25088,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.CsvOutputOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { @@ -25085,6 +25106,9 @@ var CloudformationSchema = `{ "Format": { "type": "string" }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, "Location": { "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" }, @@ -25103,6 +25127,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { @@ -35156,7 +35189,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35188,33 +35221,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { + "PolicyText": { "type": "object" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "PolicyText" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::ECR::RegistryPolicy" ], "type": "string" }, @@ -35228,23 +35246,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35276,27 +35283,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" } }, "required": [ - "AutoScalingGroupProvider" + "ReplicationConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::ECR::ReplicationConfiguration" ], "type": "string" }, @@ -35315,200 +35313,405 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" } }, "required": [ - "AutoScalingGroupArn" + "Rules" ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "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": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], + "Region": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RegistryId": { "type": "string" } }, "required": [ - "Type" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::ECR::Repository": { + "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": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "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": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "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": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35631,6 +35834,9 @@ var CloudformationSchema = `{ "EnableECSManagedTags": { "type": "boolean" }, + "EnableExecuteCommand": { + "type": "boolean" + }, "HealthCheckGracePeriodSeconds": { "type": "number" }, @@ -39230,95 +39436,184 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "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": { + "AutomaticFailoverEnabled": { "type": "boolean" }, "CacheNodeType": { "type": "string" }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, "EngineVersion": { "type": "string" }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { + "GlobalNodeGroupCount": { "type": "number" }, - "PreferredAvailabilityZone": { + "GlobalReplicationGroupDescription": { "type": "string" }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "GlobalReplicationGroupIdSuffix": { "type": "string" }, - "Tags": { + "Members": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" }, "type": "array" }, - "VpcSecurityGroupIds": { + "RegionalConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" }, "type": "array" } }, "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" + "Members" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::ElastiCache::GlobalReplicationGroup" ], "type": "string" }, @@ -39337,6 +39632,54 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { @@ -50113,10 +50456,176 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { - "type": "string" + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "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": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "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": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Path": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { "type": "string" }, "Roles": { @@ -50124,16 +50633,23 @@ var CloudformationSchema = `{ "type": "string" }, "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Roles" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::IAM::Policy" ], "type": "string" }, @@ -50152,7 +50668,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50184,45 +50700,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, "Description": { "type": "string" }, - "Groups": { + "ManagedPolicyArns": { "items": { "type": "string" }, "type": "array" }, - "ManagedPolicyName": { - "type": "string" + "MaxSessionDuration": { + "type": "number" }, "Path": { "type": "string" }, - "PolicyDocument": { - "type": "object" + "PermissionsBoundary": { + "type": "string" }, - "Roles": { + "Policies": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IAM::Role.Policy" }, "type": "array" }, - "Users": { + "RoleName": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "PolicyDocument" + "AssumeRolePolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::IAM::Role" ], "type": "string" }, @@ -50241,7 +50763,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50273,40 +50811,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "AWSServiceName": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "CustomSuffix": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "Description": { + "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "AWSServiceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::IAM::ServiceLinkedRole" ], "type": "string" }, @@ -50325,7 +50847,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50357,11 +50879,14 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssumeRolePolicyDocument": { - "type": "object" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Description": { - "type": "string" + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" }, "ManagedPolicyArns": { "items": { @@ -50369,9 +50894,6 @@ var CloudformationSchema = `{ }, "type": "array" }, - "MaxSessionDuration": { - "type": "number" - }, "Path": { "type": "string" }, @@ -50380,28 +50902,25 @@ var CloudformationSchema = `{ }, "Policies": { "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" + "$ref": "#/definitions/AWS::IAM::User.Policy" }, "type": "array" }, - "RoleName": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserName": { + "type": "string" } }, - "required": [ - "AssumeRolePolicyDocument" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Role" + "AWS::IAM::User" ], "type": "string" }, @@ -50415,12 +50934,26 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { "PolicyDocument": { @@ -50436,7 +50969,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50468,24 +51001,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { + "GroupName": { "type": "string" }, - "Description": { - "type": "string" + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "AWSServiceName" + "GroupName", + "Users" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::IAM::UserToGroupAddition" ], "type": "string" }, @@ -50504,7 +51038,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::User": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50536,40 +51070,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Authorized": { + "type": "boolean" }, - "Path": { + "LatencyMode": { "type": "string" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "UserName": { + "Type": { "type": "string" } }, @@ -50577,7 +51093,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::IVS::Channel" ], "type": "string" }, @@ -50595,38 +51111,78 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { - "Password": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "PolicyName": { + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50658,25 +51214,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "ChannelArn": { "type": "string" }, - "Users": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "GroupName", - "Users" + "ChannelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::IVS::StreamKey" ], "type": "string" }, @@ -50695,7 +51250,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50727,30 +51282,56 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" + "ChangeDescription": { + "type": "string" }, - "LatencyMode": { + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { "type": "string" }, "Name": { "type": "string" }, - "Tags": { + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" }, - "Type": { + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { "type": "string" } }, + "required": [ + "Name", + "Platform", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -50764,11 +51345,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50800,152 +51382,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { + "Components": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" }, "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "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": { - "ChannelArn": { + "ContainerType": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Description": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { + "DockerfileTemplateData": { "type": "string" }, - "Data": { + "DockerfileTemplateUri": { "type": "string" }, - "Description": { + "ImageOsVersionOverride": { "type": "string" }, "KmsKeyId": { @@ -50954,14 +51409,11 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, - "Platform": { + "ParentImage": { "type": "string" }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" + "PlatformOverride": { + "type": "string" }, "Tags": { "additionalProperties": true, @@ -50972,23 +51424,29 @@ var CloudformationSchema = `{ }, "type": "object" }, - "Uri": { - "type": "string" + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ + "Components", + "ContainerType", "Name", - "Platform", + "ParentImage", + "TargetRepository", "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -51007,6 +51465,27 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { @@ -55966,9 +56445,6 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "RoleArn": { "type": "string" }, @@ -56040,15 +56516,12 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANDeviceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56158,18 +56631,12 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANGetServiceProfileInfo": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANGetServiceProfileInfo" - }, - "LoRaWANServiceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56309,15 +56776,15 @@ var CloudformationSchema = `{ "DestinationName": { "type": "string" }, - "LoRaWANDevice": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56355,14 +56822,14 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.AbpV10X": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, "properties": { "DevAddr": { "type": "string" }, "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X" + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" } }, "required": [ @@ -56390,8 +56857,8 @@ var CloudformationSchema = `{ "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "AbpV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10X" + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" }, "AbpV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" @@ -56402,8 +56869,8 @@ var CloudformationSchema = `{ "DeviceProfileId": { "type": "string" }, - "OtaaV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10X" + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" }, "OtaaV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" @@ -56414,7 +56881,7 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::IoTWireless::WirelessDevice.OtaaV10X": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { "AppEui": { @@ -56450,7 +56917,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { "AppSKey": { @@ -56525,15 +56992,15 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, - "LoRaWANGateway": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56545,7 +57012,7 @@ var CloudformationSchema = `{ } }, "required": [ - "LoRaWANGateway" + "LoRaWAN" ], "type": "object" }, @@ -63137,6 +63604,9 @@ var CloudformationSchema = `{ "MaxWorkers": { "type": "number" }, + "Name": { + "type": "string" + }, "NetworkConfiguration": { "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" }, @@ -63161,13 +63631,13 @@ var CloudformationSchema = `{ "WebserverAccessMode": { "type": "string" }, - "WebserverUrl": { - "type": "string" - }, "WeeklyMaintenanceWindowStart": { "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { @@ -63186,7 +63656,8 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -63195,21 +63666,6 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.LastUpdate": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "Error": { - "$ref": "#/definitions/AWS::MWAA::Environment.UpdateError" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -63250,30 +63706,12 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "SecurityGroupIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SecurityGroupList" - }, - "SubnetIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SubnetList" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SecurityGroupList": { - "additionalProperties": false, - "properties": { - "SecurityGroupList": { "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SubnetList": { - "additionalProperties": false, - "properties": { - "SubnetList": { + }, + "SubnetIds": { "items": { "type": "string" }, @@ -63287,18 +63725,6 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.UpdateError": { - "additionalProperties": false, - "properties": { - "ErrorCode": { - "type": "string" - }, - "ErrorMessage": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { @@ -68418,7 +68844,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68451,7 +68877,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68520,7 +68946,7 @@ var CloudformationSchema = `{ "type": "string" }, "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68580,7 +69006,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -84954,9 +85380,6 @@ var CloudformationSchema = `{ "ExecutionRoleArn": { "type": "string" }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, "ModelName": { "type": "string" }, @@ -85041,18 +85464,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -94961,6 +95372,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ECR::PublicRepository" }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -95021,6 +95438,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -95300,6 +95720,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 23d5d2ce30..0f7b5e5185 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -7223,7 +7223,6 @@ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -7412,9 +7411,6 @@ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -7433,8 +7429,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -7515,7 +7510,6 @@ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7983,8 +7977,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -8384,8 +8377,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -8989,8 +8981,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -14763,250 +14754,19 @@ "properties": { "KeyspaceName": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "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": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "KeyspaceName": { - "type": "string" - }, - "PartitionKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "RegularColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "KeyspaceName", - "PartitionKeyColumns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Table.BillingMode": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ClusteringKeyColumn": { - "additionalProperties": false, - "properties": { - "Column": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "OrderBy": { - "type": "string" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Cassandra::Table.Column": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "ColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "ColumnType" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "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": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "ValidationMethod": { - "type": "string" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::Cassandra::Keyspace" ], "type": "string" }, @@ -15020,30 +14780,276 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" + "Type" ], "type": "object" }, - "AWS::Chatbot::SlackChannelConfiguration": { + "AWS::Cassandra::Table": { + "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": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "KeyspaceName": { + "type": "string" + }, + "PartitionKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, + "RegularColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyspaceName", + "PartitionKeyColumns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Table.BillingMode": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { + "type": "string" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "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": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18169,6 +18175,9 @@ "Name": { "type": "string" }, + "OutputFormat": { + "type": "string" + }, "RoleArn": { "type": "string" }, @@ -21654,6 +21663,9 @@ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -25073,6 +25085,15 @@ ], "type": "object" }, + "AWS::DataBrew::Job.CsvOutputOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { @@ -25082,6 +25103,9 @@ "Format": { "type": "string" }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, "Location": { "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" }, @@ -25100,6 +25124,15 @@ ], "type": "object" }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { @@ -35153,7 +35186,7 @@ ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35185,33 +35218,18 @@ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { + "PolicyText": { "type": "object" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "PolicyText" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::ECR::RegistryPolicy" ], "type": "string" }, @@ -35225,23 +35243,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35273,27 +35280,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" } }, "required": [ - "AutoScalingGroupProvider" + "ReplicationConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::ECR::ReplicationConfiguration" ], "type": "string" }, @@ -35312,200 +35310,405 @@ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" } }, "required": [ - "AutoScalingGroupArn" + "Rules" ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "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": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], + "Region": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RegistryId": { "type": "string" } }, "required": [ - "Type" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::ECR::Repository": { + "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": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "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": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "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": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35628,6 +35831,9 @@ "EnableECSManagedTags": { "type": "boolean" }, + "EnableExecuteCommand": { + "type": "boolean" + }, "HealthCheckGracePeriodSeconds": { "type": "number" }, @@ -39227,95 +39433,184 @@ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "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": { + "AutomaticFailoverEnabled": { "type": "boolean" }, "CacheNodeType": { "type": "string" }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, "EngineVersion": { "type": "string" }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { + "GlobalNodeGroupCount": { "type": "number" }, - "PreferredAvailabilityZone": { + "GlobalReplicationGroupDescription": { "type": "string" }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "GlobalReplicationGroupIdSuffix": { "type": "string" }, - "Tags": { + "Members": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" }, "type": "array" }, - "VpcSecurityGroupIds": { + "RegionalConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" }, "type": "array" } }, "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" + "Members" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::ElastiCache::GlobalReplicationGroup" ], "type": "string" }, @@ -39334,6 +39629,54 @@ ], "type": "object" }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { @@ -50110,10 +50453,176 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { - "type": "string" + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "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": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "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": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Path": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { "type": "string" }, "Roles": { @@ -50121,16 +50630,23 @@ "type": "string" }, "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Roles" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::IAM::Policy" ], "type": "string" }, @@ -50149,7 +50665,7 @@ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50181,45 +50697,51 @@ "Properties": { "additionalProperties": false, "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, "Description": { "type": "string" }, - "Groups": { + "ManagedPolicyArns": { "items": { "type": "string" }, "type": "array" }, - "ManagedPolicyName": { - "type": "string" + "MaxSessionDuration": { + "type": "number" }, "Path": { "type": "string" }, - "PolicyDocument": { - "type": "object" + "PermissionsBoundary": { + "type": "string" }, - "Roles": { + "Policies": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IAM::Role.Policy" }, "type": "array" }, - "Users": { + "RoleName": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "PolicyDocument" + "AssumeRolePolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::IAM::Role" ], "type": "string" }, @@ -50238,7 +50760,23 @@ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50270,40 +50808,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "AWSServiceName": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "CustomSuffix": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "Description": { + "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "AWSServiceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::IAM::ServiceLinkedRole" ], "type": "string" }, @@ -50322,7 +50844,7 @@ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50354,11 +50876,14 @@ "Properties": { "additionalProperties": false, "properties": { - "AssumeRolePolicyDocument": { - "type": "object" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Description": { - "type": "string" + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" }, "ManagedPolicyArns": { "items": { @@ -50366,9 +50891,6 @@ }, "type": "array" }, - "MaxSessionDuration": { - "type": "number" - }, "Path": { "type": "string" }, @@ -50377,28 +50899,25 @@ }, "Policies": { "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" + "$ref": "#/definitions/AWS::IAM::User.Policy" }, "type": "array" }, - "RoleName": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserName": { + "type": "string" } }, - "required": [ - "AssumeRolePolicyDocument" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Role" + "AWS::IAM::User" ], "type": "string" }, @@ -50412,12 +50931,26 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { "PolicyDocument": { @@ -50433,7 +50966,7 @@ ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50465,24 +50998,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { + "GroupName": { "type": "string" }, - "Description": { - "type": "string" + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "AWSServiceName" + "GroupName", + "Users" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::IAM::UserToGroupAddition" ], "type": "string" }, @@ -50501,7 +51035,7 @@ ], "type": "object" }, - "AWS::IAM::User": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50533,40 +51067,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Authorized": { + "type": "boolean" }, - "Path": { + "LatencyMode": { "type": "string" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "UserName": { + "Type": { "type": "string" } }, @@ -50574,7 +51090,7 @@ }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::IVS::Channel" ], "type": "string" }, @@ -50592,38 +51108,78 @@ ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { - "Password": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "PolicyName": { + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50655,25 +51211,24 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "ChannelArn": { "type": "string" }, - "Users": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "GroupName", - "Users" + "ChannelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::IVS::StreamKey" ], "type": "string" }, @@ -50692,7 +51247,7 @@ ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50724,30 +51279,56 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" + "ChangeDescription": { + "type": "string" }, - "LatencyMode": { + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { "type": "string" }, "Name": { "type": "string" }, - "Tags": { + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" }, - "Type": { + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { "type": "string" } }, + "required": [ + "Name", + "Platform", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -50761,11 +51342,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50797,152 +51379,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { + "Components": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" }, "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "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": { - "ChannelArn": { + "ContainerType": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Description": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { + "DockerfileTemplateData": { "type": "string" }, - "Data": { + "DockerfileTemplateUri": { "type": "string" }, - "Description": { + "ImageOsVersionOverride": { "type": "string" }, "KmsKeyId": { @@ -50951,14 +51406,11 @@ "Name": { "type": "string" }, - "Platform": { + "ParentImage": { "type": "string" }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" + "PlatformOverride": { + "type": "string" }, "Tags": { "additionalProperties": true, @@ -50969,23 +51421,29 @@ }, "type": "object" }, - "Uri": { - "type": "string" + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ + "Components", + "ContainerType", "Name", - "Platform", + "ParentImage", + "TargetRepository", "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -51004,6 +51462,27 @@ ], "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { @@ -55963,9 +56442,6 @@ "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "RoleArn": { "type": "string" }, @@ -56037,15 +56513,12 @@ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANDeviceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56155,18 +56628,12 @@ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANGetServiceProfileInfo": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANGetServiceProfileInfo" - }, - "LoRaWANServiceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56306,15 +56773,15 @@ "DestinationName": { "type": "string" }, - "LoRaWANDevice": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56352,14 +56819,14 @@ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.AbpV10X": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, "properties": { "DevAddr": { "type": "string" }, "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X" + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" } }, "required": [ @@ -56387,8 +56854,8 @@ "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "AbpV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10X" + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" }, "AbpV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" @@ -56399,8 +56866,8 @@ "DeviceProfileId": { "type": "string" }, - "OtaaV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10X" + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" }, "OtaaV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" @@ -56411,7 +56878,7 @@ }, "type": "object" }, - "AWS::IoTWireless::WirelessDevice.OtaaV10X": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { "AppEui": { @@ -56447,7 +56914,7 @@ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { "AppSKey": { @@ -56522,15 +56989,15 @@ "Description": { "type": "string" }, - "LoRaWANGateway": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56542,7 +57009,7 @@ } }, "required": [ - "LoRaWANGateway" + "LoRaWAN" ], "type": "object" }, @@ -63134,6 +63601,9 @@ "MaxWorkers": { "type": "number" }, + "Name": { + "type": "string" + }, "NetworkConfiguration": { "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" }, @@ -63158,13 +63628,13 @@ "WebserverAccessMode": { "type": "string" }, - "WebserverUrl": { - "type": "string" - }, "WeeklyMaintenanceWindowStart": { "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { @@ -63183,7 +63653,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -63192,21 +63663,6 @@ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.LastUpdate": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "Error": { - "$ref": "#/definitions/AWS::MWAA::Environment.UpdateError" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -63247,30 +63703,12 @@ "additionalProperties": false, "properties": { "SecurityGroupIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SecurityGroupList" - }, - "SubnetIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SubnetList" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SecurityGroupList": { - "additionalProperties": false, - "properties": { - "SecurityGroupList": { "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SubnetList": { - "additionalProperties": false, - "properties": { - "SubnetList": { + }, + "SubnetIds": { "items": { "type": "string" }, @@ -63284,18 +63722,6 @@ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.UpdateError": { - "additionalProperties": false, - "properties": { - "ErrorCode": { - "type": "string" - }, - "ErrorMessage": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { @@ -68415,7 +68841,7 @@ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68448,7 +68874,7 @@ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68517,7 +68943,7 @@ "type": "string" }, "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68577,7 +69003,7 @@ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -84951,9 +85377,6 @@ "ExecutionRoleArn": { "type": "string" }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, "ModelName": { "type": "string" }, @@ -85038,18 +85461,6 @@ ], "type": "object" }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -94958,6 +95369,12 @@ { "$ref": "#/definitions/AWS::ECR::PublicRepository" }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -95018,6 +95435,9 @@ { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -95297,6 +95717,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, diff --git a/schema/sam.go b/schema/sam.go index 37b13dea62..a82c88e836 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -7226,7 +7226,6 @@ var SamSchema = `{ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -7415,9 +7414,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -7436,8 +7432,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -7518,7 +7513,6 @@ var SamSchema = `{ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7986,8 +7980,7 @@ var SamSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -8387,8 +8380,7 @@ var SamSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -8992,8 +8984,7 @@ var SamSchema = `{ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -14766,250 +14757,19 @@ var SamSchema = `{ "properties": { "KeyspaceName": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "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": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "KeyspaceName": { - "type": "string" - }, - "PartitionKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "RegularColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "KeyspaceName", - "PartitionKeyColumns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Table.BillingMode": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ClusteringKeyColumn": { - "additionalProperties": false, - "properties": { - "Column": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "OrderBy": { - "type": "string" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Cassandra::Table.Column": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "ColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "ColumnType" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "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": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "ValidationMethod": { - "type": "string" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::Cassandra::Keyspace" ], "type": "string" }, @@ -15023,30 +14783,276 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" + "Type" ], "type": "object" }, - "AWS::Chatbot::SlackChannelConfiguration": { + "AWS::Cassandra::Table": { + "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": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "KeyspaceName": { + "type": "string" + }, + "PartitionKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, + "RegularColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyspaceName", + "PartitionKeyColumns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Table.BillingMode": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { + "type": "string" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "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": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18172,6 +18178,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "OutputFormat": { + "type": "string" + }, "RoleArn": { "type": "string" }, @@ -21657,6 +21666,9 @@ var SamSchema = `{ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -25076,6 +25088,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.CsvOutputOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { @@ -25085,6 +25106,9 @@ var SamSchema = `{ "Format": { "type": "string" }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, "Location": { "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" }, @@ -25103,6 +25127,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { @@ -35156,7 +35189,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35188,33 +35221,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { + "PolicyText": { "type": "object" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "PolicyText" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::ECR::RegistryPolicy" ], "type": "string" }, @@ -35228,23 +35246,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35276,27 +35283,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" } }, "required": [ - "AutoScalingGroupProvider" + "ReplicationConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::ECR::ReplicationConfiguration" ], "type": "string" }, @@ -35315,200 +35313,405 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" } }, "required": [ - "AutoScalingGroupArn" + "Rules" ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "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": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], + "Region": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RegistryId": { "type": "string" } }, "required": [ - "Type" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::ECR::Repository": { + "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": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "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": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "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": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35631,6 +35834,9 @@ var SamSchema = `{ "EnableECSManagedTags": { "type": "boolean" }, + "EnableExecuteCommand": { + "type": "boolean" + }, "HealthCheckGracePeriodSeconds": { "type": "number" }, @@ -39230,95 +39436,184 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "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": { + "AutomaticFailoverEnabled": { "type": "boolean" }, "CacheNodeType": { "type": "string" }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, "EngineVersion": { "type": "string" }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { + "GlobalNodeGroupCount": { "type": "number" }, - "PreferredAvailabilityZone": { + "GlobalReplicationGroupDescription": { "type": "string" }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "GlobalReplicationGroupIdSuffix": { "type": "string" }, - "Tags": { + "Members": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" }, "type": "array" }, - "VpcSecurityGroupIds": { + "RegionalConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" }, "type": "array" } }, "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" + "Members" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::ElastiCache::GlobalReplicationGroup" ], "type": "string" }, @@ -39337,6 +39632,54 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { @@ -50113,10 +50456,176 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { - "type": "string" + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "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": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "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": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Path": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { "type": "string" }, "Roles": { @@ -50124,16 +50633,23 @@ var SamSchema = `{ "type": "string" }, "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Roles" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::IAM::Policy" ], "type": "string" }, @@ -50152,7 +50668,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50184,45 +50700,51 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, "Description": { "type": "string" }, - "Groups": { + "ManagedPolicyArns": { "items": { "type": "string" }, "type": "array" }, - "ManagedPolicyName": { - "type": "string" + "MaxSessionDuration": { + "type": "number" }, "Path": { "type": "string" }, - "PolicyDocument": { - "type": "object" + "PermissionsBoundary": { + "type": "string" }, - "Roles": { + "Policies": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IAM::Role.Policy" }, "type": "array" }, - "Users": { + "RoleName": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "PolicyDocument" + "AssumeRolePolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::IAM::Role" ], "type": "string" }, @@ -50241,7 +50763,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50273,40 +50811,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "AWSServiceName": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "CustomSuffix": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "Description": { + "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "AWSServiceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::IAM::ServiceLinkedRole" ], "type": "string" }, @@ -50325,7 +50847,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50357,11 +50879,14 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AssumeRolePolicyDocument": { - "type": "object" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Description": { - "type": "string" + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" }, "ManagedPolicyArns": { "items": { @@ -50369,9 +50894,6 @@ var SamSchema = `{ }, "type": "array" }, - "MaxSessionDuration": { - "type": "number" - }, "Path": { "type": "string" }, @@ -50380,28 +50902,25 @@ var SamSchema = `{ }, "Policies": { "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" + "$ref": "#/definitions/AWS::IAM::User.Policy" }, "type": "array" }, - "RoleName": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserName": { + "type": "string" } }, - "required": [ - "AssumeRolePolicyDocument" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Role" + "AWS::IAM::User" ], "type": "string" }, @@ -50415,12 +50934,26 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { "PolicyDocument": { @@ -50436,7 +50969,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50468,24 +51001,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { + "GroupName": { "type": "string" }, - "Description": { - "type": "string" + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "AWSServiceName" + "GroupName", + "Users" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::IAM::UserToGroupAddition" ], "type": "string" }, @@ -50504,7 +51038,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::User": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50536,40 +51070,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Authorized": { + "type": "boolean" }, - "Path": { + "LatencyMode": { "type": "string" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "UserName": { + "Type": { "type": "string" } }, @@ -50577,7 +51093,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::IVS::Channel" ], "type": "string" }, @@ -50595,38 +51111,78 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { - "Password": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "PolicyName": { + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50658,25 +51214,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "ChannelArn": { "type": "string" }, - "Users": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "GroupName", - "Users" + "ChannelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::IVS::StreamKey" ], "type": "string" }, @@ -50695,7 +51250,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50727,30 +51282,56 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" + "ChangeDescription": { + "type": "string" }, - "LatencyMode": { + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { "type": "string" }, "Name": { "type": "string" }, - "Tags": { + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" }, - "Type": { + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { "type": "string" } }, + "required": [ + "Name", + "Platform", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -50764,11 +51345,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50800,152 +51382,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { + "Components": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" }, "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "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": { - "ChannelArn": { + "ContainerType": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Description": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { + "DockerfileTemplateData": { "type": "string" }, - "Data": { + "DockerfileTemplateUri": { "type": "string" }, - "Description": { + "ImageOsVersionOverride": { "type": "string" }, "KmsKeyId": { @@ -50954,14 +51409,11 @@ var SamSchema = `{ "Name": { "type": "string" }, - "Platform": { + "ParentImage": { "type": "string" }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" + "PlatformOverride": { + "type": "string" }, "Tags": { "additionalProperties": true, @@ -50972,23 +51424,29 @@ var SamSchema = `{ }, "type": "object" }, - "Uri": { - "type": "string" + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ + "Components", + "ContainerType", "Name", - "Platform", + "ParentImage", + "TargetRepository", "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -51007,6 +51465,27 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { @@ -55966,9 +56445,6 @@ var SamSchema = `{ "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "RoleArn": { "type": "string" }, @@ -56040,15 +56516,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANDeviceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56158,18 +56631,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANGetServiceProfileInfo": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANGetServiceProfileInfo" - }, - "LoRaWANServiceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56309,15 +56776,15 @@ var SamSchema = `{ "DestinationName": { "type": "string" }, - "LoRaWANDevice": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56355,14 +56822,14 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.AbpV10X": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, "properties": { "DevAddr": { "type": "string" }, "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X" + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" } }, "required": [ @@ -56390,8 +56857,8 @@ var SamSchema = `{ "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "AbpV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10X" + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" }, "AbpV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" @@ -56402,8 +56869,8 @@ var SamSchema = `{ "DeviceProfileId": { "type": "string" }, - "OtaaV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10X" + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" }, "OtaaV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" @@ -56414,7 +56881,7 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::IoTWireless::WirelessDevice.OtaaV10X": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { "AppEui": { @@ -56450,7 +56917,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { "AppSKey": { @@ -56525,15 +56992,15 @@ var SamSchema = `{ "Description": { "type": "string" }, - "LoRaWANGateway": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56545,7 +57012,7 @@ var SamSchema = `{ } }, "required": [ - "LoRaWANGateway" + "LoRaWAN" ], "type": "object" }, @@ -63137,6 +63604,9 @@ var SamSchema = `{ "MaxWorkers": { "type": "number" }, + "Name": { + "type": "string" + }, "NetworkConfiguration": { "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" }, @@ -63161,13 +63631,13 @@ var SamSchema = `{ "WebserverAccessMode": { "type": "string" }, - "WebserverUrl": { - "type": "string" - }, "WeeklyMaintenanceWindowStart": { "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { @@ -63186,7 +63656,8 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -63195,21 +63666,6 @@ var SamSchema = `{ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.LastUpdate": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "Error": { - "$ref": "#/definitions/AWS::MWAA::Environment.UpdateError" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -63250,30 +63706,12 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "SecurityGroupIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SecurityGroupList" - }, - "SubnetIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SubnetList" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SecurityGroupList": { - "additionalProperties": false, - "properties": { - "SecurityGroupList": { "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SubnetList": { - "additionalProperties": false, - "properties": { - "SubnetList": { + }, + "SubnetIds": { "items": { "type": "string" }, @@ -63287,18 +63725,6 @@ var SamSchema = `{ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.UpdateError": { - "additionalProperties": false, - "properties": { - "ErrorCode": { - "type": "string" - }, - "ErrorMessage": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { @@ -68418,7 +68844,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68451,7 +68877,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68520,7 +68946,7 @@ var SamSchema = `{ "type": "string" }, "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68580,7 +69006,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -84954,9 +85380,6 @@ var SamSchema = `{ "ExecutionRoleArn": { "type": "string" }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, "ModelName": { "type": "string" }, @@ -85041,18 +85464,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -96805,6 +97216,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ECR::PublicRepository" }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -96865,6 +97282,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -97144,6 +97564,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 6b6f3b1e5d..fce4176407 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -7223,7 +7223,6 @@ } }, "required": [ - "GatewayRouteName", "MeshName", "Spec", "VirtualGatewayName" @@ -7412,9 +7411,6 @@ "type": "array" } }, - "required": [ - "MeshName" - ], "type": "object" }, "Type": { @@ -7433,8 +7429,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -7515,7 +7510,6 @@ }, "required": [ "MeshName", - "RouteName", "Spec", "VirtualRouterName" ], @@ -7983,8 +7977,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualGatewayName" + "Spec" ], "type": "object" }, @@ -8384,8 +8377,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualNodeName" + "Spec" ], "type": "object" }, @@ -8989,8 +8981,7 @@ }, "required": [ "MeshName", - "Spec", - "VirtualRouterName" + "Spec" ], "type": "object" }, @@ -14763,250 +14754,19 @@ "properties": { "KeyspaceName": { "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "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": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "KeyspaceName": { - "type": "string" - }, - "PartitionKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "RegularColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "type": "array" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "KeyspaceName", - "PartitionKeyColumns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Table.BillingMode": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ClusteringKeyColumn": { - "additionalProperties": false, - "properties": { - "Column": { - "$ref": "#/definitions/AWS::Cassandra::Table.Column" - }, - "OrderBy": { - "type": "string" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Cassandra::Table.Column": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "ColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "ColumnType" - ], - "type": "object" - }, - "AWS::Cassandra::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "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": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" - }, - "ValidationMethod": { - "type": "string" } }, - "required": [ - "DomainName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::Cassandra::Keyspace" ], "type": "string" }, @@ -15020,30 +14780,276 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" + "Type" ], "type": "object" }, - "AWS::Chatbot::SlackChannelConfiguration": { + "AWS::Cassandra::Table": { + "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": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "KeyspaceName": { + "type": "string" + }, + "PartitionKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "PointInTimeRecoveryEnabled": { + "type": "boolean" + }, + "RegularColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "type": "array" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyspaceName", + "PartitionKeyColumns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Table.BillingMode": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Cassandra::Table.ProvisionedThroughput" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ClusteringKeyColumn": { + "additionalProperties": false, + "properties": { + "Column": { + "$ref": "#/definitions/AWS::Cassandra::Table.Column" + }, + "OrderBy": { + "type": "string" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Cassandra::Table.Column": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "ColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "type": "object" + }, + "AWS::Cassandra::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "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": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -18169,6 +18175,9 @@ "Name": { "type": "string" }, + "OutputFormat": { + "type": "string" + }, "RoleArn": { "type": "string" }, @@ -21654,6 +21663,9 @@ "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": { "additionalProperties": false, "properties": { + "ApplicationArn": { + "type": "string" + }, "ApplicationId": { "type": "string" }, @@ -25073,6 +25085,15 @@ ], "type": "object" }, + "AWS::DataBrew::Job.CsvOutputOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Output": { "additionalProperties": false, "properties": { @@ -25082,6 +25103,9 @@ "Format": { "type": "string" }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, "Location": { "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" }, @@ -25100,6 +25124,15 @@ ], "type": "object" }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.S3Location": { "additionalProperties": false, "properties": { @@ -35153,7 +35186,7 @@ ], "type": "object" }, - "AWS::ECR::Repository": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35185,33 +35218,18 @@ "Properties": { "additionalProperties": false, "properties": { - "ImageScanningConfiguration": { + "PolicyText": { "type": "object" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, + "required": [ + "PolicyText" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ECR::Repository" + "AWS::ECR::RegistryPolicy" ], "type": "string" }, @@ -35225,23 +35243,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { + "AWS::ECR::ReplicationConfiguration": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35273,27 +35280,18 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" } }, "required": [ - "AutoScalingGroupProvider" + "ReplicationConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::ECR::ReplicationConfiguration" ], "type": "string" }, @@ -35312,200 +35310,405 @@ ], "type": "object" }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" } }, "required": [ - "AutoScalingGroupArn" + "Rules" ], "type": "object" }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { "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": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], + "Region": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RegistryId": { "type": "string" } }, "required": [ - "Type" + "Region", + "RegistryId" ], "type": "object" }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { "additionalProperties": false, "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" } }, + "required": [ + "Destinations" + ], "type": "object" }, - "AWS::ECS::PrimaryTaskSet": { + "AWS::ECR::Repository": { + "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": { + "ImageScanningConfiguration": { + "type": "object" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "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": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "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": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -35628,6 +35831,9 @@ "EnableECSManagedTags": { "type": "boolean" }, + "EnableExecuteCommand": { + "type": "boolean" + }, "HealthCheckGracePeriodSeconds": { "type": "number" }, @@ -39227,95 +39433,184 @@ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "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": { + "AutomaticFailoverEnabled": { "type": "boolean" }, "CacheNodeType": { "type": "string" }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, "EngineVersion": { "type": "string" }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { + "GlobalNodeGroupCount": { "type": "number" }, - "PreferredAvailabilityZone": { + "GlobalReplicationGroupDescription": { "type": "string" }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { + "GlobalReplicationGroupIdSuffix": { "type": "string" }, - "Tags": { + "Members": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" }, "type": "array" }, - "VpcSecurityGroupIds": { + "RegionalConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" }, "type": "array" } }, "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" + "Members" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::ElastiCache::GlobalReplicationGroup" ], "type": "string" }, @@ -39334,6 +39629,54 @@ ], "type": "object" }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::ElastiCache::ParameterGroup": { "additionalProperties": false, "properties": { @@ -50110,10 +50453,176 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceProfileName": { - "type": "string" + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "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": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "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": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Path": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { "type": "string" }, "Roles": { @@ -50121,16 +50630,23 @@ "type": "string" }, "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Roles" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::IAM::Policy" ], "type": "string" }, @@ -50149,7 +50665,7 @@ ], "type": "object" }, - "AWS::IAM::ManagedPolicy": { + "AWS::IAM::Role": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50181,45 +50697,51 @@ "Properties": { "additionalProperties": false, "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, "Description": { "type": "string" }, - "Groups": { + "ManagedPolicyArns": { "items": { "type": "string" }, "type": "array" }, - "ManagedPolicyName": { - "type": "string" + "MaxSessionDuration": { + "type": "number" }, "Path": { "type": "string" }, - "PolicyDocument": { - "type": "object" + "PermissionsBoundary": { + "type": "string" }, - "Roles": { + "Policies": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::IAM::Role.Policy" }, "type": "array" }, - "Users": { + "RoleName": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "PolicyDocument" + "AssumeRolePolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::IAM::Role" ], "type": "string" }, @@ -50238,7 +50760,23 @@ ], "type": "object" }, - "AWS::IAM::Policy": { + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50270,40 +50808,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { + "AWSServiceName": { "type": "string" }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" + "CustomSuffix": { + "type": "string" }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" + "Description": { + "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "AWSServiceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Policy" + "AWS::IAM::ServiceLinkedRole" ], "type": "string" }, @@ -50322,7 +50844,7 @@ ], "type": "object" }, - "AWS::IAM::Role": { + "AWS::IAM::User": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50354,11 +50876,14 @@ "Properties": { "additionalProperties": false, "properties": { - "AssumeRolePolicyDocument": { - "type": "object" + "Groups": { + "items": { + "type": "string" + }, + "type": "array" }, - "Description": { - "type": "string" + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" }, "ManagedPolicyArns": { "items": { @@ -50366,9 +50891,6 @@ }, "type": "array" }, - "MaxSessionDuration": { - "type": "number" - }, "Path": { "type": "string" }, @@ -50377,28 +50899,25 @@ }, "Policies": { "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" + "$ref": "#/definitions/AWS::IAM::User.Policy" }, "type": "array" }, - "RoleName": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "UserName": { + "type": "string" } }, - "required": [ - "AssumeRolePolicyDocument" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::Role" + "AWS::IAM::User" ], "type": "string" }, @@ -50412,12 +50931,26 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::IAM::Role.Policy": { + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { "additionalProperties": false, "properties": { "PolicyDocument": { @@ -50433,7 +50966,7 @@ ], "type": "object" }, - "AWS::IAM::ServiceLinkedRole": { + "AWS::IAM::UserToGroupAddition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50465,24 +50998,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { + "GroupName": { "type": "string" }, - "Description": { - "type": "string" + "Users": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "AWSServiceName" + "GroupName", + "Users" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::IAM::UserToGroupAddition" ], "type": "string" }, @@ -50501,7 +51035,7 @@ ], "type": "object" }, - "AWS::IAM::User": { + "AWS::IVS::Channel": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50533,40 +51067,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" + "Authorized": { + "type": "boolean" }, - "Path": { + "LatencyMode": { "type": "string" }, - "PermissionsBoundary": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, - "UserName": { + "Type": { "type": "string" } }, @@ -50574,7 +51090,7 @@ }, "Type": { "enum": [ - "AWS::IAM::User" + "AWS::IVS::Channel" ], "type": "string" }, @@ -50592,38 +51108,78 @@ ], "type": "object" }, - "AWS::IAM::User.LoginProfile": { + "AWS::IVS::PlaybackKeyPair": { "additionalProperties": false, "properties": { - "Password": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "PolicyName": { + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PolicyDocument", - "PolicyName" + "Type", + "Properties" ], "type": "object" }, - "AWS::IAM::UserToGroupAddition": { + "AWS::IVS::StreamKey": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50655,25 +51211,24 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupName": { + "ChannelArn": { "type": "string" }, - "Users": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" } }, "required": [ - "GroupName", - "Users" + "ChannelArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::IVS::StreamKey" ], "type": "string" }, @@ -50692,7 +51247,7 @@ ], "type": "object" }, - "AWS::IVS::Channel": { + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50724,30 +51279,56 @@ "Properties": { "additionalProperties": false, "properties": { - "Authorized": { - "type": "boolean" + "ChangeDescription": { + "type": "string" }, - "LatencyMode": { + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { "type": "string" }, "Name": { "type": "string" }, - "Tags": { + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, "type": "array" }, - "Type": { + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { "type": "string" } }, + "required": [ + "Name", + "Platform", + "Version" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Channel" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -50761,11 +51342,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::IVS::PlaybackKeyPair": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -50797,152 +51379,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { + "Components": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" }, "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "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": { - "ChannelArn": { + "ContainerType": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Description": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { + "DockerfileTemplateData": { "type": "string" }, - "Data": { + "DockerfileTemplateUri": { "type": "string" }, - "Description": { + "ImageOsVersionOverride": { "type": "string" }, "KmsKeyId": { @@ -50951,14 +51406,11 @@ "Name": { "type": "string" }, - "Platform": { + "ParentImage": { "type": "string" }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" + "PlatformOverride": { + "type": "string" }, "Tags": { "additionalProperties": true, @@ -50969,23 +51421,29 @@ }, "type": "object" }, - "Uri": { - "type": "string" + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" }, "Version": { "type": "string" + }, + "WorkingDirectory": { + "type": "string" } }, "required": [ + "Components", + "ContainerType", "Name", - "Platform", + "ParentImage", + "TargetRepository", "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::Component" + "AWS::ImageBuilder::ContainerRecipe" ], "type": "string" }, @@ -51004,6 +51462,27 @@ ], "type": "object" }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ImageBuilder::DistributionConfiguration": { "additionalProperties": false, "properties": { @@ -55963,9 +56442,6 @@ "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "RoleArn": { "type": "string" }, @@ -56037,15 +56513,12 @@ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANDeviceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56155,18 +56628,12 @@ "Properties": { "additionalProperties": false, "properties": { - "LoRaWANGetServiceProfileInfo": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANGetServiceProfileInfo" - }, - "LoRaWANServiceProfile": { + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56306,15 +56773,15 @@ "DestinationName": { "type": "string" }, - "LoRaWANDevice": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56352,14 +56819,14 @@ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.AbpV10X": { + "AWS::IoTWireless::WirelessDevice.AbpV10x": { "additionalProperties": false, "properties": { "DevAddr": { "type": "string" }, "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X" + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" } }, "required": [ @@ -56387,8 +56854,8 @@ "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { "additionalProperties": false, "properties": { - "AbpV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10X" + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" }, "AbpV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" @@ -56399,8 +56866,8 @@ "DeviceProfileId": { "type": "string" }, - "OtaaV10X": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10X" + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" }, "OtaaV11": { "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" @@ -56411,7 +56878,7 @@ }, "type": "object" }, - "AWS::IoTWireless::WirelessDevice.OtaaV10X": { + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { "additionalProperties": false, "properties": { "AppEui": { @@ -56447,7 +56914,7 @@ ], "type": "object" }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10X": { + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { "additionalProperties": false, "properties": { "AppSKey": { @@ -56522,15 +56989,15 @@ "Description": { "type": "string" }, - "LoRaWANGateway": { + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" }, "Name": { "type": "string" }, - "NextToken": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -56542,7 +57009,7 @@ } }, "required": [ - "LoRaWANGateway" + "LoRaWAN" ], "type": "object" }, @@ -63134,6 +63601,9 @@ "MaxWorkers": { "type": "number" }, + "Name": { + "type": "string" + }, "NetworkConfiguration": { "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" }, @@ -63158,13 +63628,13 @@ "WebserverAccessMode": { "type": "string" }, - "WebserverUrl": { - "type": "string" - }, "WeeklyMaintenanceWindowStart": { "type": "string" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { @@ -63183,7 +63653,8 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, @@ -63192,21 +63663,6 @@ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.LastUpdate": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "Error": { - "$ref": "#/definitions/AWS::MWAA::Environment.UpdateError" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MWAA::Environment.LoggingConfiguration": { "additionalProperties": false, "properties": { @@ -63247,30 +63703,12 @@ "additionalProperties": false, "properties": { "SecurityGroupIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SecurityGroupList" - }, - "SubnetIds": { - "$ref": "#/definitions/AWS::MWAA::Environment.SubnetList" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SecurityGroupList": { - "additionalProperties": false, - "properties": { - "SecurityGroupList": { "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.SubnetList": { - "additionalProperties": false, - "properties": { - "SubnetList": { + }, + "SubnetIds": { "items": { "type": "string" }, @@ -63284,18 +63722,6 @@ "properties": {}, "type": "object" }, - "AWS::MWAA::Environment.UpdateError": { - "additionalProperties": false, - "properties": { - "ErrorCode": { - "type": "string" - }, - "ErrorMessage": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { @@ -68415,7 +68841,7 @@ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68448,7 +68874,7 @@ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68517,7 +68943,7 @@ "type": "string" }, "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -68577,7 +69003,7 @@ "additionalProperties": false, "properties": { "SpekeKeyProvider": { - "type": "object" + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" } }, "required": [ @@ -84951,9 +85377,6 @@ "ExecutionRoleArn": { "type": "string" }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, "ModelName": { "type": "string" }, @@ -85038,18 +85461,6 @@ ], "type": "object" }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -96802,6 +97213,12 @@ { "$ref": "#/definitions/AWS::ECR::PublicRepository" }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, { "$ref": "#/definitions/AWS::ECR::Repository" }, @@ -96862,6 +97279,9 @@ { "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, { "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" }, @@ -97141,6 +97561,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, { "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" },