diff --git a/cloudformation/all.go b/cloudformation/all.go index 673baaf0b6..a969cc6d70 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -110,6 +110,7 @@ import ( "github.com/awslabs/goformation/v5/cloudformation/licensemanager" "github.com/awslabs/goformation/v5/cloudformation/location" "github.com/awslabs/goformation/v5/cloudformation/logs" + "github.com/awslabs/goformation/v5/cloudformation/lookoutequipment" "github.com/awslabs/goformation/v5/cloudformation/lookoutmetrics" "github.com/awslabs/goformation/v5/cloudformation/lookoutvision" "github.com/awslabs/goformation/v5/cloudformation/macie" @@ -137,6 +138,8 @@ import ( "github.com/awslabs/goformation/v5/cloudformation/resourcegroups" "github.com/awslabs/goformation/v5/cloudformation/robomaker" "github.com/awslabs/goformation/v5/cloudformation/route53" + "github.com/awslabs/goformation/v5/cloudformation/route53recoverycontrol" + "github.com/awslabs/goformation/v5/cloudformation/route53recoveryreadiness" "github.com/awslabs/goformation/v5/cloudformation/route53resolver" "github.com/awslabs/goformation/v5/cloudformation/s3" "github.com/awslabs/goformation/v5/cloudformation/s3objectlambda" @@ -689,7 +692,9 @@ func AllResources() map[string]Resource { "AWS::Logs::LogStream": &logs.LogStream{}, "AWS::Logs::MetricFilter": &logs.MetricFilter{}, "AWS::Logs::QueryDefinition": &logs.QueryDefinition{}, + "AWS::Logs::ResourcePolicy": &logs.ResourcePolicy{}, "AWS::Logs::SubscriptionFilter": &logs.SubscriptionFilter{}, + "AWS::LookoutEquipment::InferenceScheduler": &lookoutequipment.InferenceScheduler{}, "AWS::LookoutMetrics::Alert": &lookoutmetrics.Alert{}, "AWS::LookoutMetrics::AnomalyDetector": &lookoutmetrics.AnomalyDetector{}, "AWS::LookoutVision::Project": &lookoutvision.Project{}, @@ -807,6 +812,14 @@ func AllResources() map[string]Resource { "AWS::Route53::KeySigningKey": &route53.KeySigningKey{}, "AWS::Route53::RecordSet": &route53.RecordSet{}, "AWS::Route53::RecordSetGroup": &route53.RecordSetGroup{}, + "AWS::Route53RecoveryControl::Cluster": &route53recoverycontrol.Cluster{}, + "AWS::Route53RecoveryControl::ControlPanel": &route53recoverycontrol.ControlPanel{}, + "AWS::Route53RecoveryControl::RoutingControl": &route53recoverycontrol.RoutingControl{}, + "AWS::Route53RecoveryControl::SafetyRule": &route53recoverycontrol.SafetyRule{}, + "AWS::Route53RecoveryReadiness::Cell": &route53recoveryreadiness.Cell{}, + "AWS::Route53RecoveryReadiness::ReadinessCheck": &route53recoveryreadiness.ReadinessCheck{}, + "AWS::Route53RecoveryReadiness::RecoveryGroup": &route53recoveryreadiness.RecoveryGroup{}, + "AWS::Route53RecoveryReadiness::ResourceSet": &route53recoveryreadiness.ResourceSet{}, "AWS::Route53Resolver::FirewallDomainList": &route53resolver.FirewallDomainList{}, "AWS::Route53Resolver::FirewallRuleGroup": &route53resolver.FirewallRuleGroup{}, "AWS::Route53Resolver::FirewallRuleGroupAssociation": &route53resolver.FirewallRuleGroupAssociation{}, @@ -13343,6 +13356,30 @@ func (t *Template) GetLogsQueryDefinitionWithName(name string) (*logs.QueryDefin return nil, fmt.Errorf("resource %q of type logs.QueryDefinition not found", name) } +// GetAllLogsResourcePolicyResources retrieves all logs.ResourcePolicy items from an AWS CloudFormation template +func (t *Template) GetAllLogsResourcePolicyResources() map[string]*logs.ResourcePolicy { + results := map[string]*logs.ResourcePolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *logs.ResourcePolicy: + results[name] = resource + } + } + return results +} + +// GetLogsResourcePolicyWithName retrieves all logs.ResourcePolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLogsResourcePolicyWithName(name string) (*logs.ResourcePolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *logs.ResourcePolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type logs.ResourcePolicy not found", name) +} + // GetAllLogsSubscriptionFilterResources retrieves all logs.SubscriptionFilter items from an AWS CloudFormation template func (t *Template) GetAllLogsSubscriptionFilterResources() map[string]*logs.SubscriptionFilter { results := map[string]*logs.SubscriptionFilter{} @@ -13367,6 +13404,30 @@ func (t *Template) GetLogsSubscriptionFilterWithName(name string) (*logs.Subscri return nil, fmt.Errorf("resource %q of type logs.SubscriptionFilter not found", name) } +// GetAllLookoutEquipmentInferenceSchedulerResources retrieves all lookoutequipment.InferenceScheduler items from an AWS CloudFormation template +func (t *Template) GetAllLookoutEquipmentInferenceSchedulerResources() map[string]*lookoutequipment.InferenceScheduler { + results := map[string]*lookoutequipment.InferenceScheduler{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *lookoutequipment.InferenceScheduler: + results[name] = resource + } + } + return results +} + +// GetLookoutEquipmentInferenceSchedulerWithName retrieves all lookoutequipment.InferenceScheduler items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLookoutEquipmentInferenceSchedulerWithName(name string) (*lookoutequipment.InferenceScheduler, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *lookoutequipment.InferenceScheduler: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type lookoutequipment.InferenceScheduler not found", name) +} + // GetAllLookoutMetricsAlertResources retrieves all lookoutmetrics.Alert items from an AWS CloudFormation template func (t *Template) GetAllLookoutMetricsAlertResources() map[string]*lookoutmetrics.Alert { results := map[string]*lookoutmetrics.Alert{} @@ -16175,6 +16236,198 @@ func (t *Template) GetRoute53RecordSetGroupWithName(name string) (*route53.Recor return nil, fmt.Errorf("resource %q of type route53.RecordSetGroup not found", name) } +// GetAllRoute53RecoveryControlClusterResources retrieves all route53recoverycontrol.Cluster items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryControlClusterResources() map[string]*route53recoverycontrol.Cluster { + results := map[string]*route53recoverycontrol.Cluster{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoverycontrol.Cluster: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryControlClusterWithName retrieves all route53recoverycontrol.Cluster items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryControlClusterWithName(name string) (*route53recoverycontrol.Cluster, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoverycontrol.Cluster: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoverycontrol.Cluster not found", name) +} + +// GetAllRoute53RecoveryControlControlPanelResources retrieves all route53recoverycontrol.ControlPanel items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryControlControlPanelResources() map[string]*route53recoverycontrol.ControlPanel { + results := map[string]*route53recoverycontrol.ControlPanel{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoverycontrol.ControlPanel: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryControlControlPanelWithName retrieves all route53recoverycontrol.ControlPanel items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryControlControlPanelWithName(name string) (*route53recoverycontrol.ControlPanel, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoverycontrol.ControlPanel: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoverycontrol.ControlPanel not found", name) +} + +// GetAllRoute53RecoveryControlRoutingControlResources retrieves all route53recoverycontrol.RoutingControl items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryControlRoutingControlResources() map[string]*route53recoverycontrol.RoutingControl { + results := map[string]*route53recoverycontrol.RoutingControl{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoverycontrol.RoutingControl: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryControlRoutingControlWithName retrieves all route53recoverycontrol.RoutingControl items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryControlRoutingControlWithName(name string) (*route53recoverycontrol.RoutingControl, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoverycontrol.RoutingControl: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoverycontrol.RoutingControl not found", name) +} + +// GetAllRoute53RecoveryControlSafetyRuleResources retrieves all route53recoverycontrol.SafetyRule items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryControlSafetyRuleResources() map[string]*route53recoverycontrol.SafetyRule { + results := map[string]*route53recoverycontrol.SafetyRule{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoverycontrol.SafetyRule: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryControlSafetyRuleWithName retrieves all route53recoverycontrol.SafetyRule items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryControlSafetyRuleWithName(name string) (*route53recoverycontrol.SafetyRule, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoverycontrol.SafetyRule: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoverycontrol.SafetyRule not found", name) +} + +// GetAllRoute53RecoveryReadinessCellResources retrieves all route53recoveryreadiness.Cell items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryReadinessCellResources() map[string]*route53recoveryreadiness.Cell { + results := map[string]*route53recoveryreadiness.Cell{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoveryreadiness.Cell: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryReadinessCellWithName retrieves all route53recoveryreadiness.Cell items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryReadinessCellWithName(name string) (*route53recoveryreadiness.Cell, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoveryreadiness.Cell: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoveryreadiness.Cell not found", name) +} + +// GetAllRoute53RecoveryReadinessReadinessCheckResources retrieves all route53recoveryreadiness.ReadinessCheck items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryReadinessReadinessCheckResources() map[string]*route53recoveryreadiness.ReadinessCheck { + results := map[string]*route53recoveryreadiness.ReadinessCheck{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoveryreadiness.ReadinessCheck: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryReadinessReadinessCheckWithName retrieves all route53recoveryreadiness.ReadinessCheck items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryReadinessReadinessCheckWithName(name string) (*route53recoveryreadiness.ReadinessCheck, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoveryreadiness.ReadinessCheck: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoveryreadiness.ReadinessCheck not found", name) +} + +// GetAllRoute53RecoveryReadinessRecoveryGroupResources retrieves all route53recoveryreadiness.RecoveryGroup items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryReadinessRecoveryGroupResources() map[string]*route53recoveryreadiness.RecoveryGroup { + results := map[string]*route53recoveryreadiness.RecoveryGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoveryreadiness.RecoveryGroup: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryReadinessRecoveryGroupWithName retrieves all route53recoveryreadiness.RecoveryGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryReadinessRecoveryGroupWithName(name string) (*route53recoveryreadiness.RecoveryGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoveryreadiness.RecoveryGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoveryreadiness.RecoveryGroup not found", name) +} + +// GetAllRoute53RecoveryReadinessResourceSetResources retrieves all route53recoveryreadiness.ResourceSet items from an AWS CloudFormation template +func (t *Template) GetAllRoute53RecoveryReadinessResourceSetResources() map[string]*route53recoveryreadiness.ResourceSet { + results := map[string]*route53recoveryreadiness.ResourceSet{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *route53recoveryreadiness.ResourceSet: + results[name] = resource + } + } + return results +} + +// GetRoute53RecoveryReadinessResourceSetWithName retrieves all route53recoveryreadiness.ResourceSet items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRoute53RecoveryReadinessResourceSetWithName(name string) (*route53recoveryreadiness.ResourceSet, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *route53recoveryreadiness.ResourceSet: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type route53recoveryreadiness.ResourceSet not found", name) +} + // GetAllRoute53ResolverFirewallDomainListResources retrieves all route53resolver.FirewallDomainList items from an AWS CloudFormation template func (t *Template) GetAllRoute53ResolverFirewallDomainListResources() map[string]*route53resolver.FirewallDomainList { results := map[string]*route53resolver.FirewallDomainList{} diff --git a/cloudformation/cassandra/aws-cassandra-table.go b/cloudformation/cassandra/aws-cassandra-table.go index a5475e2a3c..6db314e050 100644 --- a/cloudformation/cassandra/aws-cassandra-table.go +++ b/cloudformation/cassandra/aws-cassandra-table.go @@ -23,6 +23,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns ClusteringKeyColumns []Table_ClusteringKeyColumn `json:"ClusteringKeyColumns,omitempty"` + // EncryptionSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-encryptionspecification + EncryptionSpecification *Table_EncryptionSpecification `json:"EncryptionSpecification,omitempty"` + // KeyspaceName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename diff --git a/cloudformation/cassandra/aws-cassandra-table_encryptionspecification.go b/cloudformation/cassandra/aws-cassandra-table_encryptionspecification.go new file mode 100644 index 0000000000..c3f5ae68e2 --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-table_encryptionspecification.go @@ -0,0 +1,40 @@ +package cassandra + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Table_EncryptionSpecification AWS CloudFormation Resource (AWS::Cassandra::Table.EncryptionSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-encryptionspecification.html +type Table_EncryptionSpecification struct { + + // EncryptionType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-encryptionspecification.html#cfn-cassandra-table-encryptionspecification-encryptiontype + EncryptionType string `json:"EncryptionType,omitempty"` + + // KmsKeyIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-encryptionspecification.html#cfn-cassandra-table-encryptionspecification-kmskeyidentifier + KmsKeyIdentifier string `json:"KmsKeyIdentifier,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 *Table_EncryptionSpecification) AWSCloudFormationType() string { + return "AWS::Cassandra::Table.EncryptionSpecification" +} diff --git a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go index c838642d3a..b563f37e1f 100644 --- a/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go +++ b/cloudformation/cloudwatch/aws-cloudwatch-alarm_metricdataquery.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html type Alarm_MetricDataQuery struct { + // AccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-accountid + AccountId string `json:"AccountId,omitempty"` + // Expression AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-expression diff --git a/cloudformation/databrew/aws-databrew-job.go b/cloudformation/databrew/aws-databrew-job.go index c8279cf591..e4072ec531 100644 --- a/cloudformation/databrew/aws-databrew-job.go +++ b/cloudformation/databrew/aws-databrew-job.go @@ -18,6 +18,11 @@ type Job struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-datacatalogoutputs DataCatalogOutputs []Job_DataCatalogOutput `json:"DataCatalogOutputs,omitempty"` + // DatabaseOutputs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-databaseoutputs + DatabaseOutputs []Job_DatabaseOutput `json:"DatabaseOutputs,omitempty"` + // DatasetName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-datasetname @@ -68,6 +73,11 @@ type Job struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-outputs Outputs []Job_Output `json:"Outputs,omitempty"` + // ProfileConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-profileconfiguration + ProfileConfiguration *Job_ProfileConfiguration `json:"ProfileConfiguration,omitempty"` + // ProjectName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html#cfn-databrew-job-projectname diff --git a/cloudformation/databrew/aws-databrew-job_columnselector.go b/cloudformation/databrew/aws-databrew-job_columnselector.go new file mode 100644 index 0000000000..e4646a201e --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_columnselector.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_ColumnSelector AWS CloudFormation Resource (AWS::DataBrew::Job.ColumnSelector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnselector.html +type Job_ColumnSelector struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnselector.html#cfn-databrew-job-columnselector-name + Name string `json:"Name,omitempty"` + + // Regex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnselector.html#cfn-databrew-job-columnselector-regex + Regex string `json:"Regex,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_ColumnSelector) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.ColumnSelector" +} diff --git a/cloudformation/databrew/aws-databrew-job_columnstatisticsconfiguration.go b/cloudformation/databrew/aws-databrew-job_columnstatisticsconfiguration.go new file mode 100644 index 0000000000..d8948270a2 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_columnstatisticsconfiguration.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_ColumnStatisticsConfiguration AWS CloudFormation Resource (AWS::DataBrew::Job.ColumnStatisticsConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnstatisticsconfiguration.html +type Job_ColumnStatisticsConfiguration struct { + + // Selectors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnstatisticsconfiguration.html#cfn-databrew-job-columnstatisticsconfiguration-selectors + Selectors []Job_ColumnSelector `json:"Selectors,omitempty"` + + // Statistics AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-columnstatisticsconfiguration.html#cfn-databrew-job-columnstatisticsconfiguration-statistics + Statistics *Job_StatisticsConfiguration `json:"Statistics,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_ColumnStatisticsConfiguration) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.ColumnStatisticsConfiguration" +} diff --git a/cloudformation/databrew/aws-databrew-job_databaseoutput.go b/cloudformation/databrew/aws-databrew-job_databaseoutput.go new file mode 100644 index 0000000000..7c9033c842 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_databaseoutput.go @@ -0,0 +1,45 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_DatabaseOutput AWS CloudFormation Resource (AWS::DataBrew::Job.DatabaseOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-databaseoutput.html +type Job_DatabaseOutput struct { + + // DatabaseOptions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-databaseoutput.html#cfn-databrew-job-databaseoutput-databaseoptions + DatabaseOptions *Job_DatabaseTableOutputOptions `json:"DatabaseOptions,omitempty"` + + // DatabaseOutputMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-databaseoutput.html#cfn-databrew-job-databaseoutput-databaseoutputmode + DatabaseOutputMode string `json:"DatabaseOutputMode,omitempty"` + + // GlueConnectionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-databaseoutput.html#cfn-databrew-job-databaseoutput-glueconnectionname + GlueConnectionName string `json:"GlueConnectionName,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_DatabaseOutput) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.DatabaseOutput" +} diff --git a/cloudformation/databrew/aws-databrew-job_parametermap.go b/cloudformation/databrew/aws-databrew-job_parametermap.go new file mode 100644 index 0000000000..bc123e17f4 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_parametermap.go @@ -0,0 +1,30 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_ParameterMap AWS CloudFormation Resource (AWS::DataBrew::Job.ParameterMap) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-parametermap.html +type Job_ParameterMap struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Job_ParameterMap) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.ParameterMap" +} diff --git a/cloudformation/databrew/aws-databrew-job_profileconfiguration.go b/cloudformation/databrew/aws-databrew-job_profileconfiguration.go new file mode 100644 index 0000000000..72fc546a31 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_profileconfiguration.go @@ -0,0 +1,45 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_ProfileConfiguration AWS CloudFormation Resource (AWS::DataBrew::Job.ProfileConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-profileconfiguration.html +type Job_ProfileConfiguration struct { + + // ColumnStatisticsConfigurations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-profileconfiguration.html#cfn-databrew-job-profileconfiguration-columnstatisticsconfigurations + ColumnStatisticsConfigurations []Job_ColumnStatisticsConfiguration `json:"ColumnStatisticsConfigurations,omitempty"` + + // DatasetStatisticsConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-profileconfiguration.html#cfn-databrew-job-profileconfiguration-datasetstatisticsconfiguration + DatasetStatisticsConfiguration *Job_StatisticsConfiguration `json:"DatasetStatisticsConfiguration,omitempty"` + + // ProfileColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-profileconfiguration.html#cfn-databrew-job-profileconfiguration-profilecolumns + ProfileColumns []Job_ColumnSelector `json:"ProfileColumns,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_ProfileConfiguration) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.ProfileConfiguration" +} diff --git a/cloudformation/databrew/aws-databrew-job_statisticoverride.go b/cloudformation/databrew/aws-databrew-job_statisticoverride.go new file mode 100644 index 0000000000..8f8c8f379e --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_statisticoverride.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_StatisticOverride AWS CloudFormation Resource (AWS::DataBrew::Job.StatisticOverride) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticoverride.html +type Job_StatisticOverride struct { + + // Parameters AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticoverride.html#cfn-databrew-job-statisticoverride-parameters + Parameters *Job_ParameterMap `json:"Parameters,omitempty"` + + // Statistic AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticoverride.html#cfn-databrew-job-statisticoverride-statistic + Statistic string `json:"Statistic,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_StatisticOverride) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.StatisticOverride" +} diff --git a/cloudformation/databrew/aws-databrew-job_statisticsconfiguration.go b/cloudformation/databrew/aws-databrew-job_statisticsconfiguration.go new file mode 100644 index 0000000000..1eb8fb982b --- /dev/null +++ b/cloudformation/databrew/aws-databrew-job_statisticsconfiguration.go @@ -0,0 +1,40 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Job_StatisticsConfiguration AWS CloudFormation Resource (AWS::DataBrew::Job.StatisticsConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticsconfiguration.html +type Job_StatisticsConfiguration struct { + + // IncludedStatistics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticsconfiguration.html#cfn-databrew-job-statisticsconfiguration-includedstatistics + IncludedStatistics []string `json:"IncludedStatistics,omitempty"` + + // Overrides AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-job-statisticsconfiguration.html#cfn-databrew-job-statisticsconfiguration-overrides + Overrides []Job_StatisticOverride `json:"Overrides,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_StatisticsConfiguration) AWSCloudFormationType() string { + return "AWS::DataBrew::Job.StatisticsConfiguration" +} diff --git a/cloudformation/datasync/aws-datasync-task_options.go b/cloudformation/datasync/aws-datasync-task_options.go index f093b72627..935412c916 100644 --- a/cloudformation/datasync/aws-datasync-task_options.go +++ b/cloudformation/datasync/aws-datasync-task_options.go @@ -53,6 +53,11 @@ type Task_Options struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-preservedevices PreserveDevices string `json:"PreserveDevices,omitempty"` + // SecurityDescriptorCopyFlags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-securitydescriptorcopyflags + SecurityDescriptorCopyFlags string `json:"SecurityDescriptorCopyFlags,omitempty"` + // TaskQueueing AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html#cfn-datasync-task-options-taskqueueing diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopydeprecaterule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopydeprecaterule.go new file mode 100644 index 0000000000..d63862f69b --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopydeprecaterule.go @@ -0,0 +1,40 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// LifecyclePolicy_CrossRegionCopyDeprecateRule AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopydeprecaterule.html +type LifecyclePolicy_CrossRegionCopyDeprecateRule struct { + + // Interval AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopydeprecaterule.html#cfn-dlm-lifecyclepolicy-crossregioncopydeprecaterule-interval + Interval int `json:"Interval"` + + // IntervalUnit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopydeprecaterule.html#cfn-dlm-lifecyclepolicy-crossregioncopydeprecaterule-intervalunit + IntervalUnit string `json:"IntervalUnit,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 *LifecyclePolicy_CrossRegionCopyDeprecateRule) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go index 45ebaaa66e..6273e4fffd 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopyrule.go @@ -18,6 +18,11 @@ type LifecyclePolicy_CrossRegionCopyRule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-copytags CopyTags bool `json:"CopyTags,omitempty"` + // DeprecateRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-deprecaterule + DeprecateRule *LifecyclePolicy_CrossRegionCopyDeprecateRule `json:"DeprecateRule,omitempty"` + // Encrypted AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_deprecaterule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_deprecaterule.go new file mode 100644 index 0000000000..dd482201c9 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_deprecaterule.go @@ -0,0 +1,45 @@ +package dlm + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// LifecyclePolicy_DeprecateRule AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.DeprecateRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html +type LifecyclePolicy_DeprecateRule struct { + + // Count AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html#cfn-dlm-lifecyclepolicy-deprecaterule-count + Count int `json:"Count,omitempty"` + + // Interval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html#cfn-dlm-lifecyclepolicy-deprecaterule-interval + Interval int `json:"Interval,omitempty"` + + // IntervalUnit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html#cfn-dlm-lifecyclepolicy-deprecaterule-intervalunit + IntervalUnit string `json:"IntervalUnit,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 *LifecyclePolicy_DeprecateRule) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.DeprecateRule" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go index f12735da63..a7f7327d38 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_schedule.go @@ -24,6 +24,11 @@ type LifecyclePolicy_Schedule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-crossregioncopyrules CrossRegionCopyRules []LifecyclePolicy_CrossRegionCopyRule `json:"CrossRegionCopyRules,omitempty"` + // DeprecateRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-deprecaterule + DeprecateRule *LifecyclePolicy_DeprecateRule `json:"DeprecateRule,omitempty"` + // FastRestoreRule AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-fastrestorerule diff --git a/cloudformation/ec2/aws-ec2-transitgateway.go b/cloudformation/ec2/aws-ec2-transitgateway.go index d39afe38a1..5507d2628c 100644 --- a/cloudformation/ec2/aws-ec2-transitgateway.go +++ b/cloudformation/ec2/aws-ec2-transitgateway.go @@ -18,6 +18,11 @@ type TransitGateway struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-amazonsideasn AmazonSideAsn int `json:"AmazonSideAsn,omitempty"` + // AssociationDefaultRouteTableId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-associationdefaultroutetableid + AssociationDefaultRouteTableId string `json:"AssociationDefaultRouteTableId,omitempty"` + // AutoAcceptSharedAttachments AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-autoacceptsharedattachments @@ -48,11 +53,21 @@ type TransitGateway struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-multicastsupport MulticastSupport string `json:"MulticastSupport,omitempty"` + // PropagationDefaultRouteTableId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-propagationdefaultroutetableid + PropagationDefaultRouteTableId string `json:"PropagationDefaultRouteTableId,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-tags Tags []tags.Tag `json:"Tags,omitempty"` + // TransitGatewayCidrBlocks AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-transitgatewaycidrblocks + TransitGatewayCidrBlocks []string `json:"TransitGatewayCidrBlocks,omitempty"` + // VpnEcmpSupport AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-vpnecmpsupport diff --git a/cloudformation/ec2/aws-ec2-vpccidrblock.go b/cloudformation/ec2/aws-ec2-vpccidrblock.go index 0a03958f77..a9b896e480 100644 --- a/cloudformation/ec2/aws-ec2-vpccidrblock.go +++ b/cloudformation/ec2/aws-ec2-vpccidrblock.go @@ -22,6 +22,16 @@ type VPCCidrBlock struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-cidrblock CidrBlock string `json:"CidrBlock,omitempty"` + // Ipv6CidrBlock AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6cidrblock + Ipv6CidrBlock string `json:"Ipv6CidrBlock,omitempty"` + + // Ipv6Pool AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6pool + Ipv6Pool string `json:"Ipv6Pool,omitempty"` + // VpcId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-vpcid diff --git a/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go index 2547b91147..000223d8f9 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_windowsconfiguration.go @@ -18,6 +18,11 @@ type FileSystem_WindowsConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-aliases Aliases []string `json:"Aliases,omitempty"` + // AuditLogConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-auditlogconfiguration + AuditLogConfiguration *FileSystem_AuditLogConfiguration `json:"AuditLogConfiguration,omitempty"` + // AutomaticBackupRetentionDays AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-automaticbackupretentiondays diff --git a/cloudformation/glue/aws-glue-crawler.go b/cloudformation/glue/aws-glue-crawler.go index 7fd2b6d58d..12990893ad 100644 --- a/cloudformation/glue/aws-glue-crawler.go +++ b/cloudformation/glue/aws-glue-crawler.go @@ -42,6 +42,11 @@ type Crawler struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-name Name string `json:"Name,omitempty"` + // RecrawlPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-recrawlpolicy + RecrawlPolicy *Crawler_RecrawlPolicy `json:"RecrawlPolicy,omitempty"` + // Role AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-role diff --git a/cloudformation/glue/aws-glue-crawler_recrawlpolicy.go b/cloudformation/glue/aws-glue-crawler_recrawlpolicy.go new file mode 100644 index 0000000000..f89d17f618 --- /dev/null +++ b/cloudformation/glue/aws-glue-crawler_recrawlpolicy.go @@ -0,0 +1,35 @@ +package glue + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Crawler_RecrawlPolicy AWS CloudFormation Resource (AWS::Glue::Crawler.RecrawlPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html +type Crawler_RecrawlPolicy struct { + + // RecrawlBehavior AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-recrawlpolicy.html#cfn-glue-crawler-recrawlpolicy-recrawlbehavior + RecrawlBehavior string `json:"RecrawlBehavior,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 *Crawler_RecrawlPolicy) AWSCloudFormationType() string { + return "AWS::Glue::Crawler.RecrawlPolicy" +} diff --git a/cloudformation/glue/aws-glue-database_databaseinput.go b/cloudformation/glue/aws-glue-database_databaseinput.go index 0073fef69e..e1a9727cbd 100644 --- a/cloudformation/glue/aws-glue-database_databaseinput.go +++ b/cloudformation/glue/aws-glue-database_databaseinput.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html type Database_DatabaseInput struct { + // CreateTableDefaultPermissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-createtabledefaultpermissions + CreateTableDefaultPermissions []Database_PrincipalPrivileges `json:"CreateTableDefaultPermissions,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-description diff --git a/cloudformation/glue/aws-glue-partition_schemareference.go b/cloudformation/glue/aws-glue-partition_schemareference.go index 8da6a3ea86..51e6d25821 100644 --- a/cloudformation/glue/aws-glue-partition_schemareference.go +++ b/cloudformation/glue/aws-glue-partition_schemareference.go @@ -8,16 +8,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html type Partition_SchemaReference struct { - // SchameVersionId AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schameversionid - SchameVersionId string `json:"SchameVersionId,omitempty"` - // SchemaId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaid SchemaId *Partition_SchemaId `json:"SchemaId,omitempty"` + // SchemaVersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaversionid + SchemaVersionId string `json:"SchemaVersionId,omitempty"` + // SchemaVersionNumber AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-schemareference.html#cfn-glue-partition-schemareference-schemaversionnumber diff --git a/cloudformation/glue/aws-glue-table_schemareference.go b/cloudformation/glue/aws-glue-table_schemareference.go index 7fd814954b..89d1cd40a5 100644 --- a/cloudformation/glue/aws-glue-table_schemareference.go +++ b/cloudformation/glue/aws-glue-table_schemareference.go @@ -8,16 +8,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html type Table_SchemaReference struct { - // SchameVersionId AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schameversionid - SchameVersionId string `json:"SchameVersionId,omitempty"` - // SchemaId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaid SchemaId *Table_SchemaId `json:"SchemaId,omitempty"` + // SchemaVersionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaversionid + SchemaVersionId string `json:"SchemaVersionId,omitempty"` + // SchemaVersionNumber AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-schemareference.html#cfn-glue-table-schemareference-schemaversionnumber diff --git a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go index 2510b0312f..16a9e572c0 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-containerrecipe.go @@ -45,7 +45,7 @@ type ContainerRecipe struct { // InstanceConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-instanceconfiguration - InstanceConfiguration interface{} `json:"InstanceConfiguration,omitempty"` + InstanceConfiguration *ContainerRecipe_InstanceConfiguration `json:"InstanceConfiguration,omitempty"` // KmsKeyId AWS CloudFormation Property // Required: false diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go index 4acb852769..4da20289e6 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe.go @@ -12,6 +12,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html type ImageRecipe struct { + // AdditionalInstanceConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-additionalinstanceconfiguration + AdditionalInstanceConfiguration *ImageRecipe_AdditionalInstanceConfiguration `json:"AdditionalInstanceConfiguration,omitempty"` + // BlockDeviceMappings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-blockdevicemappings diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_additionalinstanceconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_additionalinstanceconfiguration.go new file mode 100644 index 0000000000..4fa758bce5 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_additionalinstanceconfiguration.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ImageRecipe_AdditionalInstanceConfiguration AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-additionalinstanceconfiguration.html +type ImageRecipe_AdditionalInstanceConfiguration struct { + + // SystemsManagerAgent AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-additionalinstanceconfiguration.html#cfn-imagebuilder-imagerecipe-additionalinstanceconfiguration-systemsmanageragent + SystemsManagerAgent *ImageRecipe_SystemsManagerAgent `json:"SystemsManagerAgent,omitempty"` + + // UserDataOverride AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-additionalinstanceconfiguration.html#cfn-imagebuilder-imagerecipe-additionalinstanceconfiguration-userdataoverride + UserDataOverride string `json:"UserDataOverride,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 *ImageRecipe_AdditionalInstanceConfiguration) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go index 01fd5ee352..d3dab29ee7 100644 --- a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentconfiguration.go @@ -13,6 +13,11 @@ type ImageRecipe_ComponentConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-componentarn ComponentArn string `json:"ComponentArn,omitempty"` + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-parameters + Parameters []ImageRecipe_ComponentParameter `json:"Parameters,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentparameter.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentparameter.go new file mode 100644 index 0000000000..2af9f3b17b --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_componentparameter.go @@ -0,0 +1,40 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ImageRecipe_ComponentParameter AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe.ComponentParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentparameter.html +type ImageRecipe_ComponentParameter struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentparameter.html#cfn-imagebuilder-imagerecipe-componentparameter-name + Name string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentparameter.html#cfn-imagebuilder-imagerecipe-componentparameter-value + Value []string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ImageRecipe_ComponentParameter) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe.ComponentParameter" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_systemsmanageragent.go b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_systemsmanageragent.go new file mode 100644 index 0000000000..8558965c2f --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-imagerecipe_systemsmanageragent.go @@ -0,0 +1,35 @@ +package imagebuilder + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ImageRecipe_SystemsManagerAgent AWS CloudFormation Resource (AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-systemsmanageragent.html +type ImageRecipe_SystemsManagerAgent struct { + + // UninstallAfterBuild AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-systemsmanageragent.html#cfn-imagebuilder-imagerecipe-systemsmanageragent-uninstallafterbuild + UninstallAfterBuild bool `json:"UninstallAfterBuild"` + + // 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 *ImageRecipe_SystemsManagerAgent) AWSCloudFormationType() string { + return "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" +} diff --git a/cloudformation/logs/aws-logs-resourcepolicy.go b/cloudformation/logs/aws-logs-resourcepolicy.go new file mode 100644 index 0000000000..043b908951 --- /dev/null +++ b/cloudformation/logs/aws-logs-resourcepolicy.go @@ -0,0 +1,111 @@ +package logs + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ResourcePolicy AWS CloudFormation Resource (AWS::Logs::ResourcePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html +type ResourcePolicy struct { + + // PolicyDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html#cfn-logs-resourcepolicy-policydocument + PolicyDocument string `json:"PolicyDocument,omitempty"` + + // PolicyName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html#cfn-logs-resourcepolicy-policyname + PolicyName string `json:"PolicyName,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 *ResourcePolicy) AWSCloudFormationType() string { + return "AWS::Logs::ResourcePolicy" +} + +// 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 ResourcePolicy) MarshalJSON() ([]byte, error) { + type Properties ResourcePolicy + 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 *ResourcePolicy) UnmarshalJSON(b []byte) error { + type Properties ResourcePolicy + 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 = ResourcePolicy(*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/lookoutequipment/aws-lookoutequipment-inferencescheduler.go b/cloudformation/lookoutequipment/aws-lookoutequipment-inferencescheduler.go new file mode 100644 index 0000000000..0066acb3af --- /dev/null +++ b/cloudformation/lookoutequipment/aws-lookoutequipment-inferencescheduler.go @@ -0,0 +1,147 @@ +package lookoutequipment + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// InferenceScheduler AWS CloudFormation Resource (AWS::LookoutEquipment::InferenceScheduler) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html +type InferenceScheduler struct { + + // DataDelayOffsetInMinutes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-datadelayoffsetinminutes + DataDelayOffsetInMinutes int `json:"DataDelayOffsetInMinutes,omitempty"` + + // DataInputConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-datainputconfiguration + DataInputConfiguration interface{} `json:"DataInputConfiguration,omitempty"` + + // DataOutputConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-dataoutputconfiguration + DataOutputConfiguration interface{} `json:"DataOutputConfiguration,omitempty"` + + // DataUploadFrequency AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-datauploadfrequency + DataUploadFrequency string `json:"DataUploadFrequency,omitempty"` + + // InferenceSchedulerName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-inferenceschedulername + InferenceSchedulerName string `json:"InferenceSchedulerName,omitempty"` + + // ModelName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-modelname + ModelName string `json:"ModelName,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // ServerSideKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-serversidekmskeyid + ServerSideKmsKeyId string `json:"ServerSideKmsKeyId,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html#cfn-lookoutequipment-inferencescheduler-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *InferenceScheduler) AWSCloudFormationType() string { + return "AWS::LookoutEquipment::InferenceScheduler" +} + +// 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 InferenceScheduler) MarshalJSON() ([]byte, error) { + type Properties InferenceScheduler + 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 *InferenceScheduler) UnmarshalJSON(b []byte) error { + type Properties InferenceScheduler + 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 = InferenceScheduler(*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/lookoutmetrics/aws-lookoutmetrics-alert.go b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert.go index 098337a065..15e3721a19 100644 --- a/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert.go +++ b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert.go @@ -15,7 +15,7 @@ type Alert struct { // Action AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html#cfn-lookoutmetrics-alert-action - Action interface{} `json:"Action,omitempty"` + Action *Alert_Action `json:"Action,omitempty"` // AlertDescription AWS CloudFormation Property // Required: false diff --git a/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_action.go b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_action.go new file mode 100644 index 0000000000..061f6ac95d --- /dev/null +++ b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_action.go @@ -0,0 +1,40 @@ +package lookoutmetrics + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Alert_Action AWS CloudFormation Resource (AWS::LookoutMetrics::Alert.Action) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-action.html +type Alert_Action struct { + + // LambdaConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-action.html#cfn-lookoutmetrics-alert-action-lambdaconfiguration + LambdaConfiguration *Alert_LambdaConfiguration `json:"LambdaConfiguration,omitempty"` + + // SNSConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-action.html#cfn-lookoutmetrics-alert-action-snsconfiguration + SNSConfiguration *Alert_SNSConfiguration `json:"SNSConfiguration,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 *Alert_Action) AWSCloudFormationType() string { + return "AWS::LookoutMetrics::Alert.Action" +} diff --git a/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_lambdaconfiguration.go b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_lambdaconfiguration.go new file mode 100644 index 0000000000..3628a706c3 --- /dev/null +++ b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_lambdaconfiguration.go @@ -0,0 +1,40 @@ +package lookoutmetrics + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Alert_LambdaConfiguration AWS CloudFormation Resource (AWS::LookoutMetrics::Alert.LambdaConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-lambdaconfiguration.html +type Alert_LambdaConfiguration struct { + + // LambdaArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-lambdaconfiguration.html#cfn-lookoutmetrics-alert-lambdaconfiguration-lambdaarn + LambdaArn string `json:"LambdaArn,omitempty"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-lambdaconfiguration.html#cfn-lookoutmetrics-alert-lambdaconfiguration-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Alert_LambdaConfiguration) AWSCloudFormationType() string { + return "AWS::LookoutMetrics::Alert.LambdaConfiguration" +} diff --git a/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_snsconfiguration.go b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_snsconfiguration.go new file mode 100644 index 0000000000..b7a0d447f9 --- /dev/null +++ b/cloudformation/lookoutmetrics/aws-lookoutmetrics-alert_snsconfiguration.go @@ -0,0 +1,40 @@ +package lookoutmetrics + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Alert_SNSConfiguration AWS CloudFormation Resource (AWS::LookoutMetrics::Alert.SNSConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-snsconfiguration.html +type Alert_SNSConfiguration struct { + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-snsconfiguration.html#cfn-lookoutmetrics-alert-snsconfiguration-rolearn + RoleArn string `json:"RoleArn,omitempty"` + + // SnsTopicArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-alert-snsconfiguration.html#cfn-lookoutmetrics-alert-snsconfiguration-snstopicarn + SnsTopicArn string `json:"SnsTopicArn,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 *Alert_SNSConfiguration) AWSCloudFormationType() string { + return "AWS::LookoutMetrics::Alert.SNSConfiguration" +} diff --git a/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector.go b/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector.go index a3e8635909..5c9b85779f 100644 --- a/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector.go +++ b/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector.go @@ -15,7 +15,7 @@ type AnomalyDetector struct { // AnomalyDetectorConfig AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html#cfn-lookoutmetrics-anomalydetector-anomalydetectorconfig - AnomalyDetectorConfig interface{} `json:"AnomalyDetectorConfig,omitempty"` + AnomalyDetectorConfig *AnomalyDetector_AnomalyDetectorConfig `json:"AnomalyDetectorConfig,omitempty"` // AnomalyDetectorDescription AWS CloudFormation Property // Required: false diff --git a/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector_anomalydetectorconfig.go b/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector_anomalydetectorconfig.go new file mode 100644 index 0000000000..58abcf1739 --- /dev/null +++ b/cloudformation/lookoutmetrics/aws-lookoutmetrics-anomalydetector_anomalydetectorconfig.go @@ -0,0 +1,35 @@ +package lookoutmetrics + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// AnomalyDetector_AnomalyDetectorConfig AWS CloudFormation Resource (AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-anomalydetectorconfig.html +type AnomalyDetector_AnomalyDetectorConfig struct { + + // AnomalyDetectorFrequency AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-anomalydetectorconfig.html#cfn-lookoutmetrics-anomalydetector-anomalydetectorconfig-anomalydetectorfrequency + AnomalyDetectorFrequency string `json:"AnomalyDetectorFrequency,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 *AnomalyDetector_AnomalyDetectorConfig) AWSCloudFormationType() string { + return "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" +} diff --git a/cloudformation/quicksight/aws-quicksight-dataset_rowlevelpermissiondataset.go b/cloudformation/quicksight/aws-quicksight-dataset_rowlevelpermissiondataset.go index 25cd5133d2..533ea113ab 100644 --- a/cloudformation/quicksight/aws-quicksight-dataset_rowlevelpermissiondataset.go +++ b/cloudformation/quicksight/aws-quicksight-dataset_rowlevelpermissiondataset.go @@ -13,6 +13,11 @@ type DataSet_RowLevelPermissionDataSet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-rowlevelpermissiondataset.html#cfn-quicksight-dataset-rowlevelpermissiondataset-arn Arn string `json:"Arn,omitempty"` + // FormatVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-rowlevelpermissiondataset.html#cfn-quicksight-dataset-rowlevelpermissiondataset-formatversion + FormatVersion string `json:"FormatVersion,omitempty"` + // Namespace AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-rowlevelpermissiondataset.html#cfn-quicksight-dataset-rowlevelpermissiondataset-namespace diff --git a/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-cluster.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-cluster.go new file mode 100644 index 0000000000..9856a46a1d --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-cluster.go @@ -0,0 +1,106 @@ +package route53recoverycontrol + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Cluster AWS CloudFormation Resource (AWS::Route53RecoveryControl::Cluster) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html +type Cluster struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html#cfn-route53recoverycontrol-cluster-name + Name string `json:"Name,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 *Cluster) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::Cluster" +} + +// 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 Cluster) MarshalJSON() ([]byte, error) { + type Properties Cluster + 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 *Cluster) UnmarshalJSON(b []byte) error { + type Properties Cluster + 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 = Cluster(*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/route53recoverycontrol/aws-route53recoverycontrol-cluster_clusterendpoint.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-cluster_clusterendpoint.go new file mode 100644 index 0000000000..82640af954 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-cluster_clusterendpoint.go @@ -0,0 +1,40 @@ +package route53recoverycontrol + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Cluster_ClusterEndpoint AWS CloudFormation Resource (AWS::Route53RecoveryControl::Cluster.ClusterEndpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-cluster-clusterendpoint.html +type Cluster_ClusterEndpoint struct { + + // Endpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-cluster-clusterendpoint.html#cfn-route53recoverycontrol-cluster-clusterendpoint-endpoint + Endpoint string `json:"Endpoint,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-cluster-clusterendpoint.html#cfn-route53recoverycontrol-cluster-clusterendpoint-region + Region string `json:"Region,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 *Cluster_ClusterEndpoint) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint" +} diff --git a/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-controlpanel.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-controlpanel.go new file mode 100644 index 0000000000..d0981a9640 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-controlpanel.go @@ -0,0 +1,111 @@ +package route53recoverycontrol + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ControlPanel AWS CloudFormation Resource (AWS::Route53RecoveryControl::ControlPanel) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html +type ControlPanel struct { + + // ClusterArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html#cfn-route53recoverycontrol-controlpanel-clusterarn + ClusterArn string `json:"ClusterArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html#cfn-route53recoverycontrol-controlpanel-name + Name string `json:"Name,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 *ControlPanel) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::ControlPanel" +} + +// 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 ControlPanel) MarshalJSON() ([]byte, error) { + type Properties ControlPanel + 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 *ControlPanel) UnmarshalJSON(b []byte) error { + type Properties ControlPanel + 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 = ControlPanel(*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/route53recoverycontrol/aws-route53recoverycontrol-routingcontrol.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-routingcontrol.go new file mode 100644 index 0000000000..2eb7c4d0d4 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-routingcontrol.go @@ -0,0 +1,116 @@ +package route53recoverycontrol + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// RoutingControl AWS CloudFormation Resource (AWS::Route53RecoveryControl::RoutingControl) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html +type RoutingControl struct { + + // ClusterArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html#cfn-route53recoverycontrol-routingcontrol-clusterarn + ClusterArn string `json:"ClusterArn,omitempty"` + + // ControlPanelArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html#cfn-route53recoverycontrol-routingcontrol-controlpanelarn + ControlPanelArn string `json:"ControlPanelArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html#cfn-route53recoverycontrol-routingcontrol-name + Name string `json:"Name,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 *RoutingControl) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::RoutingControl" +} + +// 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 RoutingControl) MarshalJSON() ([]byte, error) { + type Properties RoutingControl + 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 *RoutingControl) UnmarshalJSON(b []byte) error { + type Properties RoutingControl + 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 = RoutingControl(*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/route53recoverycontrol/aws-route53recoverycontrol-safetyrule.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule.go new file mode 100644 index 0000000000..6543c5cf05 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule.go @@ -0,0 +1,126 @@ +package route53recoverycontrol + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// SafetyRule AWS CloudFormation Resource (AWS::Route53RecoveryControl::SafetyRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html +type SafetyRule struct { + + // AssertionRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html#cfn-route53recoverycontrol-safetyrule-assertionrule + AssertionRule *SafetyRule_AssertionRule `json:"AssertionRule,omitempty"` + + // ControlPanelArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html#cfn-route53recoverycontrol-safetyrule-controlpanelarn + ControlPanelArn string `json:"ControlPanelArn,omitempty"` + + // GatingRule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html#cfn-route53recoverycontrol-safetyrule-gatingrule + GatingRule *SafetyRule_GatingRule `json:"GatingRule,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html#cfn-route53recoverycontrol-safetyrule-name + Name string `json:"Name,omitempty"` + + // RuleConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html#cfn-route53recoverycontrol-safetyrule-ruleconfig + RuleConfig *SafetyRule_RuleConfig `json:"RuleConfig,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 *SafetyRule) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::SafetyRule" +} + +// 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 SafetyRule) MarshalJSON() ([]byte, error) { + type Properties SafetyRule + 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 *SafetyRule) UnmarshalJSON(b []byte) error { + type Properties SafetyRule + 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 = SafetyRule(*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/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_assertionrule.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_assertionrule.go new file mode 100644 index 0000000000..4810480314 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_assertionrule.go @@ -0,0 +1,40 @@ +package route53recoverycontrol + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// SafetyRule_AssertionRule AWS CloudFormation Resource (AWS::Route53RecoveryControl::SafetyRule.AssertionRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-assertionrule.html +type SafetyRule_AssertionRule struct { + + // AssertedControls AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-assertionrule.html#cfn-route53recoverycontrol-safetyrule-assertionrule-assertedcontrols + AssertedControls []string `json:"AssertedControls,omitempty"` + + // WaitPeriodMs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-assertionrule.html#cfn-route53recoverycontrol-safetyrule-assertionrule-waitperiodms + WaitPeriodMs int `json:"WaitPeriodMs"` + + // 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 *SafetyRule_AssertionRule) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::SafetyRule.AssertionRule" +} diff --git a/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_gatingrule.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_gatingrule.go new file mode 100644 index 0000000000..089a947546 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_gatingrule.go @@ -0,0 +1,45 @@ +package route53recoverycontrol + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// SafetyRule_GatingRule AWS CloudFormation Resource (AWS::Route53RecoveryControl::SafetyRule.GatingRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-gatingrule.html +type SafetyRule_GatingRule struct { + + // GatingControls AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-gatingrule.html#cfn-route53recoverycontrol-safetyrule-gatingrule-gatingcontrols + GatingControls []string `json:"GatingControls,omitempty"` + + // TargetControls AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-gatingrule.html#cfn-route53recoverycontrol-safetyrule-gatingrule-targetcontrols + TargetControls []string `json:"TargetControls,omitempty"` + + // WaitPeriodMs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-gatingrule.html#cfn-route53recoverycontrol-safetyrule-gatingrule-waitperiodms + WaitPeriodMs int `json:"WaitPeriodMs"` + + // 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 *SafetyRule_GatingRule) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::SafetyRule.GatingRule" +} diff --git a/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_ruleconfig.go b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_ruleconfig.go new file mode 100644 index 0000000000..5675248af1 --- /dev/null +++ b/cloudformation/route53recoverycontrol/aws-route53recoverycontrol-safetyrule_ruleconfig.go @@ -0,0 +1,45 @@ +package route53recoverycontrol + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// SafetyRule_RuleConfig AWS CloudFormation Resource (AWS::Route53RecoveryControl::SafetyRule.RuleConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-ruleconfig.html +type SafetyRule_RuleConfig struct { + + // Inverted AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-ruleconfig.html#cfn-route53recoverycontrol-safetyrule-ruleconfig-inverted + Inverted bool `json:"Inverted"` + + // Threshold AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-ruleconfig.html#cfn-route53recoverycontrol-safetyrule-ruleconfig-threshold + Threshold int `json:"Threshold"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoverycontrol-safetyrule-ruleconfig.html#cfn-route53recoverycontrol-safetyrule-ruleconfig-type + Type string `json:"Type,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 *SafetyRule_RuleConfig) AWSCloudFormationType() string { + return "AWS::Route53RecoveryControl::SafetyRule.RuleConfig" +} diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go new file mode 100644 index 0000000000..8e70bbd7fd --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-cell.go @@ -0,0 +1,117 @@ +package route53recoveryreadiness + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// Cell AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::Cell) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html +type Cell struct { + + // CellName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html#cfn-route53recoveryreadiness-cell-cellname + CellName string `json:"CellName,omitempty"` + + // Cells AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html#cfn-route53recoveryreadiness-cell-cells + Cells []string `json:"Cells,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html#cfn-route53recoveryreadiness-cell-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Cell) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::Cell" +} + +// 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 Cell) MarshalJSON() ([]byte, error) { + type Properties Cell + 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 *Cell) UnmarshalJSON(b []byte) error { + type Properties Cell + 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 = Cell(*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/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go new file mode 100644 index 0000000000..7ef4955664 --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-readinesscheck.go @@ -0,0 +1,117 @@ +package route53recoveryreadiness + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// ReadinessCheck AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ReadinessCheck) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html +type ReadinessCheck struct { + + // ReadinessCheckName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html#cfn-route53recoveryreadiness-readinesscheck-readinesscheckname + ReadinessCheckName string `json:"ReadinessCheckName,omitempty"` + + // ResourceSetName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html#cfn-route53recoveryreadiness-readinesscheck-resourcesetname + ResourceSetName string `json:"ResourceSetName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html#cfn-route53recoveryreadiness-readinesscheck-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ReadinessCheck) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ReadinessCheck" +} + +// 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 ReadinessCheck) MarshalJSON() ([]byte, error) { + type Properties ReadinessCheck + 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 *ReadinessCheck) UnmarshalJSON(b []byte) error { + type Properties ReadinessCheck + 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 = ReadinessCheck(*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/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go new file mode 100644 index 0000000000..f407d4fb80 --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-recoverygroup.go @@ -0,0 +1,117 @@ +package route53recoveryreadiness + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// RecoveryGroup AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::RecoveryGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html +type RecoveryGroup struct { + + // Cells AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html#cfn-route53recoveryreadiness-recoverygroup-cells + Cells []string `json:"Cells,omitempty"` + + // RecoveryGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html#cfn-route53recoveryreadiness-recoverygroup-recoverygroupname + RecoveryGroupName string `json:"RecoveryGroupName,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html#cfn-route53recoveryreadiness-recoverygroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RecoveryGroup) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::RecoveryGroup" +} + +// 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 RecoveryGroup) MarshalJSON() ([]byte, error) { + type Properties RecoveryGroup + 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 *RecoveryGroup) UnmarshalJSON(b []byte) error { + type Properties RecoveryGroup + 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 = RecoveryGroup(*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/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go new file mode 100644 index 0000000000..d17e333644 --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset.go @@ -0,0 +1,122 @@ +package route53recoveryreadiness + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// ResourceSet AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ResourceSet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html +type ResourceSet struct { + + // ResourceSetName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html#cfn-route53recoveryreadiness-resourceset-resourcesetname + ResourceSetName string `json:"ResourceSetName,omitempty"` + + // ResourceSetType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html#cfn-route53recoveryreadiness-resourceset-resourcesettype + ResourceSetType string `json:"ResourceSetType,omitempty"` + + // Resources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html#cfn-route53recoveryreadiness-resourceset-resources + Resources []ResourceSet_Resource `json:"Resources,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html#cfn-route53recoveryreadiness-resourceset-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ResourceSet) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ResourceSet" +} + +// 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 ResourceSet) MarshalJSON() ([]byte, error) { + type Properties ResourceSet + 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 *ResourceSet) UnmarshalJSON(b []byte) error { + type Properties ResourceSet + 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 = ResourceSet(*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/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_dnstargetresource.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_dnstargetresource.go new file mode 100644 index 0000000000..7dc953888c --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_dnstargetresource.go @@ -0,0 +1,55 @@ +package route53recoveryreadiness + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ResourceSet_DNSTargetResource AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-dnstargetresource.html +type ResourceSet_DNSTargetResource struct { + + // DomainName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-dnstargetresource.html#cfn-route53recoveryreadiness-resourceset-dnstargetresource-domainname + DomainName string `json:"DomainName,omitempty"` + + // HostedZoneArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-dnstargetresource.html#cfn-route53recoveryreadiness-resourceset-dnstargetresource-hostedzonearn + HostedZoneArn string `json:"HostedZoneArn,omitempty"` + + // RecordSetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-dnstargetresource.html#cfn-route53recoveryreadiness-resourceset-dnstargetresource-recordsetid + RecordSetId string `json:"RecordSetId,omitempty"` + + // RecordType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-dnstargetresource.html#cfn-route53recoveryreadiness-resourceset-dnstargetresource-recordtype + RecordType string `json:"RecordType,omitempty"` + + // TargetResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-dnstargetresource.html#cfn-route53recoveryreadiness-resourceset-dnstargetresource-targetresource + TargetResource *ResourceSet_TargetResource `json:"TargetResource,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 *ResourceSet_DNSTargetResource) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" +} diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_nlbresource.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_nlbresource.go new file mode 100644 index 0000000000..b3d3973367 --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_nlbresource.go @@ -0,0 +1,35 @@ +package route53recoveryreadiness + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ResourceSet_NLBResource AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ResourceSet.NLBResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-nlbresource.html +type ResourceSet_NLBResource struct { + + // Arn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-nlbresource.html#cfn-route53recoveryreadiness-resourceset-nlbresource-arn + Arn string `json:"Arn,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 *ResourceSet_NLBResource) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" +} diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_r53resourcerecord.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_r53resourcerecord.go new file mode 100644 index 0000000000..3f0a2316ee --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_r53resourcerecord.go @@ -0,0 +1,40 @@ +package route53recoveryreadiness + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ResourceSet_R53ResourceRecord AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-r53resourcerecord.html +type ResourceSet_R53ResourceRecord struct { + + // DomainName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-r53resourcerecord.html#cfn-route53recoveryreadiness-resourceset-r53resourcerecord-domainname + DomainName string `json:"DomainName,omitempty"` + + // RecordSetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-r53resourcerecord.html#cfn-route53recoveryreadiness-resourceset-r53resourcerecord-recordsetid + RecordSetId string `json:"RecordSetId,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 *ResourceSet_R53ResourceRecord) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" +} diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_resource.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_resource.go new file mode 100644 index 0000000000..bbf52e3b79 --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_resource.go @@ -0,0 +1,50 @@ +package route53recoveryreadiness + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ResourceSet_Resource AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ResourceSet.Resource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-resource.html +type ResourceSet_Resource struct { + + // ComponentId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-resource.html#cfn-route53recoveryreadiness-resourceset-resource-componentid + ComponentId string `json:"ComponentId,omitempty"` + + // DnsTargetResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-resource.html#cfn-route53recoveryreadiness-resourceset-resource-dnstargetresource + DnsTargetResource *ResourceSet_DNSTargetResource `json:"DnsTargetResource,omitempty"` + + // ReadinessScopes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-resource.html#cfn-route53recoveryreadiness-resourceset-resource-readinessscopes + ReadinessScopes []string `json:"ReadinessScopes,omitempty"` + + // ResourceArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-resource.html#cfn-route53recoveryreadiness-resourceset-resource-resourcearn + ResourceArn string `json:"ResourceArn,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 *ResourceSet_Resource) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ResourceSet.Resource" +} diff --git a/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_targetresource.go b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_targetresource.go new file mode 100644 index 0000000000..fe43e6ccaa --- /dev/null +++ b/cloudformation/route53recoveryreadiness/aws-route53recoveryreadiness-resourceset_targetresource.go @@ -0,0 +1,40 @@ +package route53recoveryreadiness + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// ResourceSet_TargetResource AWS CloudFormation Resource (AWS::Route53RecoveryReadiness::ResourceSet.TargetResource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-targetresource.html +type ResourceSet_TargetResource struct { + + // NLBResource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-targetresource.html#cfn-route53recoveryreadiness-resourceset-targetresource-nlbresource + NLBResource *ResourceSet_NLBResource `json:"NLBResource,omitempty"` + + // R53Resource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53recoveryreadiness-resourceset-targetresource.html#cfn-route53recoveryreadiness-resourceset-targetresource-r53resource + R53Resource *ResourceSet_R53ResourceRecord `json:"R53Resource,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 *ResourceSet_TargetResource) AWSCloudFormationType() string { + return "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" +} diff --git a/cloudformation/s3/aws-s3-accesspoint.go b/cloudformation/s3/aws-s3-accesspoint.go index 45761cffea..66cbf98f76 100644 --- a/cloudformation/s3/aws-s3-accesspoint.go +++ b/cloudformation/s3/aws-s3-accesspoint.go @@ -17,16 +17,16 @@ type AccessPoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket Bucket string `json:"Bucket,omitempty"` - // Name AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name - Name string `json:"Name,omitempty"` - // Policy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy Policy interface{} `json:"Policy,omitempty"` + // PolicyStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus + PolicyStatus interface{} `json:"PolicyStatus,omitempty"` + // PublicAccessBlockConfiguration AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration diff --git a/cloudformation/s3outposts/aws-s3outposts-endpoint.go b/cloudformation/s3outposts/aws-s3outposts-endpoint.go index 9ba2ae6580..87fee19eb4 100644 --- a/cloudformation/s3outposts/aws-s3outposts-endpoint.go +++ b/cloudformation/s3outposts/aws-s3outposts-endpoint.go @@ -12,6 +12,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html type Endpoint struct { + // AccessType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html#cfn-s3outposts-endpoint-accesstype + AccessType string `json:"AccessType,omitempty"` + + // CustomerOwnedIpv4Pool AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html#cfn-s3outposts-endpoint-customerownedipv4pool + CustomerOwnedIpv4Pool string `json:"CustomerOwnedIpv4Pool,omitempty"` + // OutpostId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html#cfn-s3outposts-endpoint-outpostid diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 13b3c1baec..9ad515a865 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -16384,6 +16384,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "EncryptionSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Table.EncryptionSpecification" + }, "KeyspaceName": { "type": "string" }, @@ -16485,6 +16488,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Cassandra::Table.EncryptionSpecification": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKeyIdentifier": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, "AWS::Cassandra::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { @@ -19915,6 +19933,9 @@ var CloudformationSchema = `{ "AWS::CloudWatch::Alarm.MetricDataQuery": { "additionalProperties": false, "properties": { + "AccountId": { + "type": "string" + }, "Expression": { "type": "string" }, @@ -27017,6 +27038,22 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -27042,6 +27079,9 @@ var CloudformationSchema = `{ "CopyTags": { "type": "boolean" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule" + }, "Encrypted": { "type": "boolean" }, @@ -27060,6 +27100,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.DeprecateRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { "additionalProperties": false, "properties": { @@ -27220,6 +27275,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule" + }, "FastRestoreRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule" }, @@ -28488,6 +28546,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "DatabaseOutputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" + }, + "type": "array" + }, "DatasetName": { "type": "string" }, @@ -28521,6 +28585,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "ProfileConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration" + }, "ProjectName": { "type": "string" }, @@ -28571,6 +28638,36 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.ColumnSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + }, + "Statistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + } + }, + "required": [ + "Statistics" + ], + "type": "object" + }, "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { @@ -28608,6 +28705,25 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.DatabaseOutput": { + "additionalProperties": false, + "properties": { + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions" + }, + "DatabaseOutputMode": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + } + }, + "required": [ + "DatabaseOptions", + "GlueConnectionName" + ], + "type": "object" + }, "AWS::DataBrew::Job.DatabaseTableOutputOptions": { "additionalProperties": false, "properties": { @@ -28689,6 +28805,32 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Job.ProfileConfiguration": { + "additionalProperties": false, + "properties": { + "ColumnStatisticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" + }, + "type": "array" + }, + "DatasetStatisticsConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + }, + "ProfileColumns": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Recipe": { "additionalProperties": false, "properties": { @@ -28731,6 +28873,40 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.StatisticOverride": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "Statistic": { + "type": "string" + } + }, + "required": [ + "Parameters", + "Statistic" + ], + "type": "object" + }, + "AWS::DataBrew::Job.StatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "IncludedStatistics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { @@ -30396,6 +30572,9 @@ var CloudformationSchema = `{ "PreserveDevices": { "type": "string" }, + "SecurityDescriptorCopyFlags": { + "type": "string" + }, "TaskQueueing": { "type": "string" }, @@ -37720,6 +37899,9 @@ var CloudformationSchema = `{ "AmazonSideAsn": { "type": "number" }, + "AssociationDefaultRouteTableId": { + "type": "string" + }, "AutoAcceptSharedAttachments": { "type": "string" }, @@ -37738,12 +37920,21 @@ var CloudformationSchema = `{ "MulticastSupport": { "type": "string" }, + "PropagationDefaultRouteTableId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "TransitGatewayCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, "VpnEcmpSupport": { "type": "string" } @@ -38677,6 +38868,12 @@ var CloudformationSchema = `{ "CidrBlock": { "type": "string" }, + "Ipv6CidrBlock": { + "type": "string" + }, + "Ipv6Pool": { + "type": "string" + }, "VpcId": { "type": "string" } @@ -49274,6 +49471,25 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { @@ -49355,6 +49571,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, "AutomaticBackupRetentionDays": { "type": "number" }, @@ -51931,6 +52150,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, "Role": { "type": "string" }, @@ -52019,6 +52241,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { @@ -52256,6 +52487,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { @@ -52271,6 +52511,12 @@ var CloudformationSchema = `{ "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -52289,6 +52535,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { @@ -52901,12 +53162,12 @@ var CloudformationSchema = `{ "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -53582,12 +53843,12 @@ var CloudformationSchema = `{ "AWS::Glue::Table.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Table.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -58824,7 +59085,7 @@ var CloudformationSchema = `{ "type": "string" }, "InstanceConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" }, "KmsKeyId": { "type": "string" @@ -59348,6 +59609,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, "BlockDeviceMappings": { "items": { "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" @@ -59414,15 +59678,55 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { "ComponentArn": { "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" } }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { @@ -59468,6 +59772,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { @@ -72765,7 +73081,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Logs::SubscriptionFilter": { + "AWS::Logs::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72797,29 +73113,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { + "PolicyDocument": { "type": "string" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::Logs::ResourcePolicy" ], "type": "string" }, @@ -72838,7 +73147,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::LookoutMetrics::Alert": { + "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72870,9 +73179,175 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "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": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { "type": "object" }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "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": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, "AlertDescription": { "type": "string" }, @@ -72914,6 +73389,50 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector": { "additionalProperties": false, "properties": { @@ -72947,7 +73466,7 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "AnomalyDetectorConfig": { - "type": "object" + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" }, "AnomalyDetectorDescription": { "type": "string" @@ -72992,6 +73511,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { "additionalProperties": false, "properties": { @@ -87199,6 +87730,9 @@ var CloudformationSchema = `{ "Arn": { "type": "string" }, + "FormatVersion": { + "type": "string" + }, "Namespace": { "type": "string" }, @@ -91385,30 +91919,897 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "type": "string" + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "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": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "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": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::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": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "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": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "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": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "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": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "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": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "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": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "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": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" }, - "KeyManagementServiceArn": { + "RecoveryGroupName": { "type": "string" }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" + "RecoveryGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "type": "string" }, @@ -91427,7 +92828,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -91459,64 +92860,35 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { + "ResourceSetName": { "type": "string" }, - "HostedZoneId": { + "ResourceSetType": { "type": "string" }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { + "Resources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "Type" + "ResourceSetName", + "ResourceSetType", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "type": "string" }, @@ -91535,200 +92907,79 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { + "DomainName": { "type": "string" }, - "CountryCode": { + "HostedZoneArn": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "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": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], + "RecordType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { + "Arn": { "type": "string" } }, - "required": [ - "DNSName", - "HostedZoneId" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { "additionalProperties": false, "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { + "DomainName": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { + "ComponentId": { "type": "string" }, - "Region": { - "type": "string" + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" }, - "ResourceRecords": { + "ReadinessScopes": { "items": { "type": "string" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "ResourceArn": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" }, - "Weight": { - "type": "number" + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, "AWS::Route53Resolver::FirewallDomainList": { @@ -92471,12 +93722,12 @@ var CloudformationSchema = `{ "Bucket": { "type": "string" }, - "Name": { - "type": "string" - }, "Policy": { "type": "object" }, + "PolicyStatus": { + "type": "object" + }, "PublicAccessBlockConfiguration": { "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" }, @@ -94424,6 +95675,12 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, "OutpostId": { "type": "string" }, @@ -110842,9 +112099,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Logs::QueryDefinition" }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, { "$ref": "#/definitions/AWS::LookoutMetrics::Alert" }, @@ -111196,6 +112459,30 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, { "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 3914b50f58..9c3ea67c36 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -16381,6 +16381,9 @@ }, "type": "array" }, + "EncryptionSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Table.EncryptionSpecification" + }, "KeyspaceName": { "type": "string" }, @@ -16482,6 +16485,21 @@ ], "type": "object" }, + "AWS::Cassandra::Table.EncryptionSpecification": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKeyIdentifier": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, "AWS::Cassandra::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { @@ -19912,6 +19930,9 @@ "AWS::CloudWatch::Alarm.MetricDataQuery": { "additionalProperties": false, "properties": { + "AccountId": { + "type": "string" + }, "Expression": { "type": "string" }, @@ -27014,6 +27035,22 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -27039,6 +27076,9 @@ "CopyTags": { "type": "boolean" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule" + }, "Encrypted": { "type": "boolean" }, @@ -27057,6 +27097,21 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.DeprecateRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { "additionalProperties": false, "properties": { @@ -27217,6 +27272,9 @@ }, "type": "array" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule" + }, "FastRestoreRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule" }, @@ -28485,6 +28543,12 @@ }, "type": "array" }, + "DatabaseOutputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" + }, + "type": "array" + }, "DatasetName": { "type": "string" }, @@ -28518,6 +28582,9 @@ }, "type": "array" }, + "ProfileConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration" + }, "ProjectName": { "type": "string" }, @@ -28568,6 +28635,36 @@ ], "type": "object" }, + "AWS::DataBrew::Job.ColumnSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + }, + "Statistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + } + }, + "required": [ + "Statistics" + ], + "type": "object" + }, "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { @@ -28605,6 +28702,25 @@ ], "type": "object" }, + "AWS::DataBrew::Job.DatabaseOutput": { + "additionalProperties": false, + "properties": { + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions" + }, + "DatabaseOutputMode": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + } + }, + "required": [ + "DatabaseOptions", + "GlueConnectionName" + ], + "type": "object" + }, "AWS::DataBrew::Job.DatabaseTableOutputOptions": { "additionalProperties": false, "properties": { @@ -28686,6 +28802,32 @@ ], "type": "object" }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Job.ProfileConfiguration": { + "additionalProperties": false, + "properties": { + "ColumnStatisticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" + }, + "type": "array" + }, + "DatasetStatisticsConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + }, + "ProfileColumns": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Recipe": { "additionalProperties": false, "properties": { @@ -28728,6 +28870,40 @@ ], "type": "object" }, + "AWS::DataBrew::Job.StatisticOverride": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "Statistic": { + "type": "string" + } + }, + "required": [ + "Parameters", + "Statistic" + ], + "type": "object" + }, + "AWS::DataBrew::Job.StatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "IncludedStatistics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { @@ -30393,6 +30569,9 @@ "PreserveDevices": { "type": "string" }, + "SecurityDescriptorCopyFlags": { + "type": "string" + }, "TaskQueueing": { "type": "string" }, @@ -37717,6 +37896,9 @@ "AmazonSideAsn": { "type": "number" }, + "AssociationDefaultRouteTableId": { + "type": "string" + }, "AutoAcceptSharedAttachments": { "type": "string" }, @@ -37735,12 +37917,21 @@ "MulticastSupport": { "type": "string" }, + "PropagationDefaultRouteTableId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "TransitGatewayCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, "VpnEcmpSupport": { "type": "string" } @@ -38674,6 +38865,12 @@ "CidrBlock": { "type": "string" }, + "Ipv6CidrBlock": { + "type": "string" + }, + "Ipv6Pool": { + "type": "string" + }, "VpcId": { "type": "string" } @@ -49271,6 +49468,25 @@ ], "type": "object" }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { @@ -49352,6 +49568,9 @@ }, "type": "array" }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, "AutomaticBackupRetentionDays": { "type": "number" }, @@ -51928,6 +52147,9 @@ "Name": { "type": "string" }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, "Role": { "type": "string" }, @@ -52016,6 +52238,15 @@ }, "type": "object" }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { @@ -52253,6 +52484,15 @@ ], "type": "object" }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { @@ -52268,6 +52508,12 @@ "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -52286,6 +52532,21 @@ }, "type": "object" }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { @@ -52898,12 +53159,12 @@ "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -53579,12 +53840,12 @@ "AWS::Glue::Table.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Table.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -58821,7 +59082,7 @@ "type": "string" }, "InstanceConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" }, "KmsKeyId": { "type": "string" @@ -59345,6 +59606,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, "BlockDeviceMappings": { "items": { "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" @@ -59411,15 +59675,55 @@ ], "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { "ComponentArn": { "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" } }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { @@ -59465,6 +59769,18 @@ }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { @@ -72762,7 +73078,7 @@ ], "type": "object" }, - "AWS::Logs::SubscriptionFilter": { + "AWS::Logs::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72794,29 +73110,22 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { + "PolicyDocument": { "type": "string" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::Logs::ResourcePolicy" ], "type": "string" }, @@ -72835,7 +73144,7 @@ ], "type": "object" }, - "AWS::LookoutMetrics::Alert": { + "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72867,9 +73176,175 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "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": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { "type": "object" }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "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": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, "AlertDescription": { "type": "string" }, @@ -72911,6 +73386,50 @@ ], "type": "object" }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector": { "additionalProperties": false, "properties": { @@ -72944,7 +73463,7 @@ "additionalProperties": false, "properties": { "AnomalyDetectorConfig": { - "type": "object" + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" }, "AnomalyDetectorDescription": { "type": "string" @@ -72989,6 +73508,18 @@ ], "type": "object" }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { "additionalProperties": false, "properties": { @@ -87196,6 +87727,9 @@ "Arn": { "type": "string" }, + "FormatVersion": { + "type": "string" + }, "Namespace": { "type": "string" }, @@ -91382,30 +91916,897 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "type": "string" + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "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": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "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": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::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": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "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": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "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": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "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": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "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": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "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": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "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": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" }, - "KeyManagementServiceArn": { + "RecoveryGroupName": { "type": "string" }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" + "RecoveryGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "type": "string" }, @@ -91424,7 +92825,7 @@ ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -91456,64 +92857,35 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { + "ResourceSetName": { "type": "string" }, - "HostedZoneId": { + "ResourceSetType": { "type": "string" }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { + "Resources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "Type" + "ResourceSetName", + "ResourceSetType", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "type": "string" }, @@ -91532,200 +92904,79 @@ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { + "DomainName": { "type": "string" }, - "CountryCode": { + "HostedZoneArn": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "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": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], + "RecordType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { + "Arn": { "type": "string" } }, - "required": [ - "DNSName", - "HostedZoneId" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { "additionalProperties": false, "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { + "DomainName": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { + "ComponentId": { "type": "string" }, - "Region": { - "type": "string" + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" }, - "ResourceRecords": { + "ReadinessScopes": { "items": { "type": "string" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "ResourceArn": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" }, - "Weight": { - "type": "number" + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, "AWS::Route53Resolver::FirewallDomainList": { @@ -92468,12 +93719,12 @@ "Bucket": { "type": "string" }, - "Name": { - "type": "string" - }, "Policy": { "type": "object" }, + "PolicyStatus": { + "type": "object" + }, "PublicAccessBlockConfiguration": { "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" }, @@ -94421,6 +95672,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, "OutpostId": { "type": "string" }, @@ -110839,9 +112096,15 @@ { "$ref": "#/definitions/AWS::Logs::QueryDefinition" }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, { "$ref": "#/definitions/AWS::LookoutMetrics::Alert" }, @@ -111193,6 +112456,30 @@ { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, { "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" }, diff --git a/schema/sam.go b/schema/sam.go index 24a394c7e3..31a3f81e11 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -16384,6 +16384,9 @@ var SamSchema = `{ }, "type": "array" }, + "EncryptionSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Table.EncryptionSpecification" + }, "KeyspaceName": { "type": "string" }, @@ -16485,6 +16488,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Cassandra::Table.EncryptionSpecification": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKeyIdentifier": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, "AWS::Cassandra::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { @@ -19915,6 +19933,9 @@ var SamSchema = `{ "AWS::CloudWatch::Alarm.MetricDataQuery": { "additionalProperties": false, "properties": { + "AccountId": { + "type": "string" + }, "Expression": { "type": "string" }, @@ -27017,6 +27038,22 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -27042,6 +27079,9 @@ var SamSchema = `{ "CopyTags": { "type": "boolean" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule" + }, "Encrypted": { "type": "boolean" }, @@ -27060,6 +27100,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.DeprecateRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { "additionalProperties": false, "properties": { @@ -27220,6 +27275,9 @@ var SamSchema = `{ }, "type": "array" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule" + }, "FastRestoreRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule" }, @@ -28488,6 +28546,12 @@ var SamSchema = `{ }, "type": "array" }, + "DatabaseOutputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" + }, + "type": "array" + }, "DatasetName": { "type": "string" }, @@ -28521,6 +28585,9 @@ var SamSchema = `{ }, "type": "array" }, + "ProfileConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration" + }, "ProjectName": { "type": "string" }, @@ -28571,6 +28638,36 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.ColumnSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + }, + "Statistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + } + }, + "required": [ + "Statistics" + ], + "type": "object" + }, "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { @@ -28608,6 +28705,25 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.DatabaseOutput": { + "additionalProperties": false, + "properties": { + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions" + }, + "DatabaseOutputMode": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + } + }, + "required": [ + "DatabaseOptions", + "GlueConnectionName" + ], + "type": "object" + }, "AWS::DataBrew::Job.DatabaseTableOutputOptions": { "additionalProperties": false, "properties": { @@ -28689,6 +28805,32 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Job.ProfileConfiguration": { + "additionalProperties": false, + "properties": { + "ColumnStatisticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" + }, + "type": "array" + }, + "DatasetStatisticsConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + }, + "ProfileColumns": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Recipe": { "additionalProperties": false, "properties": { @@ -28731,6 +28873,40 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataBrew::Job.StatisticOverride": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "Statistic": { + "type": "string" + } + }, + "required": [ + "Parameters", + "Statistic" + ], + "type": "object" + }, + "AWS::DataBrew::Job.StatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "IncludedStatistics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { @@ -30396,6 +30572,9 @@ var SamSchema = `{ "PreserveDevices": { "type": "string" }, + "SecurityDescriptorCopyFlags": { + "type": "string" + }, "TaskQueueing": { "type": "string" }, @@ -37720,6 +37899,9 @@ var SamSchema = `{ "AmazonSideAsn": { "type": "number" }, + "AssociationDefaultRouteTableId": { + "type": "string" + }, "AutoAcceptSharedAttachments": { "type": "string" }, @@ -37738,12 +37920,21 @@ var SamSchema = `{ "MulticastSupport": { "type": "string" }, + "PropagationDefaultRouteTableId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "TransitGatewayCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, "VpnEcmpSupport": { "type": "string" } @@ -38677,6 +38868,12 @@ var SamSchema = `{ "CidrBlock": { "type": "string" }, + "Ipv6CidrBlock": { + "type": "string" + }, + "Ipv6Pool": { + "type": "string" + }, "VpcId": { "type": "string" } @@ -49274,6 +49471,25 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { @@ -49355,6 +49571,9 @@ var SamSchema = `{ }, "type": "array" }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, "AutomaticBackupRetentionDays": { "type": "number" }, @@ -51931,6 +52150,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, "Role": { "type": "string" }, @@ -52019,6 +52241,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { @@ -52256,6 +52487,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { @@ -52271,6 +52511,12 @@ var SamSchema = `{ "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -52289,6 +52535,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { @@ -52901,12 +53162,12 @@ var SamSchema = `{ "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -53582,12 +53843,12 @@ var SamSchema = `{ "AWS::Glue::Table.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Table.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -58824,7 +59085,7 @@ var SamSchema = `{ "type": "string" }, "InstanceConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" }, "KmsKeyId": { "type": "string" @@ -59348,6 +59609,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, "BlockDeviceMappings": { "items": { "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" @@ -59414,15 +59678,55 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { "ComponentArn": { "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" } }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { @@ -59468,6 +59772,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { @@ -72765,7 +73081,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Logs::SubscriptionFilter": { + "AWS::Logs::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72797,29 +73113,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { + "PolicyDocument": { "type": "string" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::Logs::ResourcePolicy" ], "type": "string" }, @@ -72838,7 +73147,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::LookoutMetrics::Alert": { + "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72870,9 +73179,175 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "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": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { "type": "object" }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "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": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, "AlertDescription": { "type": "string" }, @@ -72914,6 +73389,50 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector": { "additionalProperties": false, "properties": { @@ -72947,7 +73466,7 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "AnomalyDetectorConfig": { - "type": "object" + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" }, "AnomalyDetectorDescription": { "type": "string" @@ -72992,6 +73511,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { "additionalProperties": false, "properties": { @@ -87199,6 +87730,9 @@ var SamSchema = `{ "Arn": { "type": "string" }, + "FormatVersion": { + "type": "string" + }, "Namespace": { "type": "string" }, @@ -91385,30 +91919,897 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "type": "string" + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "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": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "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": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::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": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "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": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "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": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "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": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "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": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "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": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "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": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" }, - "KeyManagementServiceArn": { + "RecoveryGroupName": { "type": "string" }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" + "RecoveryGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "type": "string" }, @@ -91427,7 +92828,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -91459,64 +92860,35 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { + "ResourceSetName": { "type": "string" }, - "HostedZoneId": { + "ResourceSetType": { "type": "string" }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { + "Resources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "Type" + "ResourceSetName", + "ResourceSetType", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "type": "string" }, @@ -91535,200 +92907,79 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { + "DomainName": { "type": "string" }, - "CountryCode": { + "HostedZoneArn": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "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": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], + "RecordType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { + "Arn": { "type": "string" } }, - "required": [ - "DNSName", - "HostedZoneId" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { "additionalProperties": false, "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { + "DomainName": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { + "ComponentId": { "type": "string" }, - "Region": { - "type": "string" + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" }, - "ResourceRecords": { + "ReadinessScopes": { "items": { "type": "string" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "ResourceArn": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" }, - "Weight": { - "type": "number" + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, "AWS::Route53Resolver::FirewallDomainList": { @@ -92471,12 +93722,12 @@ var SamSchema = `{ "Bucket": { "type": "string" }, - "Name": { - "type": "string" - }, "Policy": { "type": "object" }, + "PolicyStatus": { + "type": "object" + }, "PublicAccessBlockConfiguration": { "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" }, @@ -94424,6 +95675,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, "OutpostId": { "type": "string" }, @@ -113496,9 +114753,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Logs::QueryDefinition" }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, { "$ref": "#/definitions/AWS::LookoutMetrics::Alert" }, @@ -113850,6 +115113,30 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, { "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 2f5e7ba498..8285a45965 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -16381,6 +16381,9 @@ }, "type": "array" }, + "EncryptionSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Table.EncryptionSpecification" + }, "KeyspaceName": { "type": "string" }, @@ -16482,6 +16485,21 @@ ], "type": "object" }, + "AWS::Cassandra::Table.EncryptionSpecification": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKeyIdentifier": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, "AWS::Cassandra::Table.ProvisionedThroughput": { "additionalProperties": false, "properties": { @@ -19912,6 +19930,9 @@ "AWS::CloudWatch::Alarm.MetricDataQuery": { "additionalProperties": false, "properties": { + "AccountId": { + "type": "string" + }, "Expression": { "type": "string" }, @@ -27014,6 +27035,22 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "required": [ + "Interval", + "IntervalUnit" + ], + "type": "object" + }, "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": { "additionalProperties": false, "properties": { @@ -27039,6 +27076,9 @@ "CopyTags": { "type": "boolean" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule" + }, "Encrypted": { "type": "boolean" }, @@ -27057,6 +27097,21 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.DeprecateRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.EncryptionConfiguration": { "additionalProperties": false, "properties": { @@ -27217,6 +27272,9 @@ }, "type": "array" }, + "DeprecateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.DeprecateRule" + }, "FastRestoreRule": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.FastRestoreRule" }, @@ -28485,6 +28543,12 @@ }, "type": "array" }, + "DatabaseOutputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseOutput" + }, + "type": "array" + }, "DatasetName": { "type": "string" }, @@ -28518,6 +28582,9 @@ }, "type": "array" }, + "ProfileConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.ProfileConfiguration" + }, "ProjectName": { "type": "string" }, @@ -28568,6 +28635,36 @@ ], "type": "object" }, + "AWS::DataBrew::Job.ColumnSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.ColumnStatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + }, + "Statistics": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + } + }, + "required": [ + "Statistics" + ], + "type": "object" + }, "AWS::DataBrew::Job.CsvOutputOptions": { "additionalProperties": false, "properties": { @@ -28605,6 +28702,25 @@ ], "type": "object" }, + "AWS::DataBrew::Job.DatabaseOutput": { + "additionalProperties": false, + "properties": { + "DatabaseOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.DatabaseTableOutputOptions" + }, + "DatabaseOutputMode": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + } + }, + "required": [ + "DatabaseOptions", + "GlueConnectionName" + ], + "type": "object" + }, "AWS::DataBrew::Job.DatabaseTableOutputOptions": { "additionalProperties": false, "properties": { @@ -28686,6 +28802,32 @@ ], "type": "object" }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Job.ProfileConfiguration": { + "additionalProperties": false, + "properties": { + "ColumnStatisticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnStatisticsConfiguration" + }, + "type": "array" + }, + "DatasetStatisticsConfiguration": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticsConfiguration" + }, + "ProfileColumns": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.ColumnSelector" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Job.Recipe": { "additionalProperties": false, "properties": { @@ -28728,6 +28870,40 @@ ], "type": "object" }, + "AWS::DataBrew::Job.StatisticOverride": { + "additionalProperties": false, + "properties": { + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "Statistic": { + "type": "string" + } + }, + "required": [ + "Parameters", + "Statistic" + ], + "type": "object" + }, + "AWS::DataBrew::Job.StatisticsConfiguration": { + "additionalProperties": false, + "properties": { + "IncludedStatistics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Job.StatisticOverride" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::DataBrew::Project": { "additionalProperties": false, "properties": { @@ -30393,6 +30569,9 @@ "PreserveDevices": { "type": "string" }, + "SecurityDescriptorCopyFlags": { + "type": "string" + }, "TaskQueueing": { "type": "string" }, @@ -37717,6 +37896,9 @@ "AmazonSideAsn": { "type": "number" }, + "AssociationDefaultRouteTableId": { + "type": "string" + }, "AutoAcceptSharedAttachments": { "type": "string" }, @@ -37735,12 +37917,21 @@ "MulticastSupport": { "type": "string" }, + "PropagationDefaultRouteTableId": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" }, + "TransitGatewayCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, "VpnEcmpSupport": { "type": "string" } @@ -38674,6 +38865,12 @@ "CidrBlock": { "type": "string" }, + "Ipv6CidrBlock": { + "type": "string" + }, + "Ipv6Pool": { + "type": "string" + }, "VpcId": { "type": "string" } @@ -49271,6 +49468,25 @@ ], "type": "object" }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { @@ -49352,6 +49568,9 @@ }, "type": "array" }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, "AutomaticBackupRetentionDays": { "type": "number" }, @@ -51928,6 +52147,9 @@ "Name": { "type": "string" }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, "Role": { "type": "string" }, @@ -52016,6 +52238,15 @@ }, "type": "object" }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { @@ -52253,6 +52484,15 @@ ], "type": "object" }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.DatabaseIdentifier": { "additionalProperties": false, "properties": { @@ -52268,6 +52508,12 @@ "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, "Description": { "type": "string" }, @@ -52286,6 +52532,21 @@ }, "type": "object" }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { @@ -52898,12 +53159,12 @@ "AWS::Glue::Partition.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -53579,12 +53840,12 @@ "AWS::Glue::Table.SchemaReference": { "additionalProperties": false, "properties": { - "SchameVersionId": { - "type": "string" - }, "SchemaId": { "$ref": "#/definitions/AWS::Glue::Table.SchemaId" }, + "SchemaVersionId": { + "type": "string" + }, "SchemaVersionNumber": { "type": "number" } @@ -58821,7 +59082,7 @@ "type": "string" }, "InstanceConfiguration": { - "type": "object" + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" }, "KmsKeyId": { "type": "string" @@ -59345,6 +59606,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, "BlockDeviceMappings": { "items": { "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" @@ -59411,15 +59675,55 @@ ], "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { "additionalProperties": false, "properties": { "ComponentArn": { "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" } }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { "additionalProperties": false, "properties": { @@ -59465,6 +59769,18 @@ }, "type": "object" }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, "AWS::ImageBuilder::InfrastructureConfiguration": { "additionalProperties": false, "properties": { @@ -72762,7 +73078,7 @@ ], "type": "object" }, - "AWS::Logs::SubscriptionFilter": { + "AWS::Logs::ResourcePolicy": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72794,29 +73110,22 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { + "PolicyDocument": { "type": "string" }, - "RoleArn": { + "PolicyName": { "type": "string" } }, "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" + "PolicyDocument", + "PolicyName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::Logs::ResourcePolicy" ], "type": "string" }, @@ -72835,7 +73144,7 @@ ], "type": "object" }, - "AWS::LookoutMetrics::Alert": { + "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -72867,9 +73176,175 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "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": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { "type": "object" }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "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": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, "AlertDescription": { "type": "string" }, @@ -72911,6 +73386,50 @@ ], "type": "object" }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector": { "additionalProperties": false, "properties": { @@ -72944,7 +73463,7 @@ "additionalProperties": false, "properties": { "AnomalyDetectorConfig": { - "type": "object" + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" }, "AnomalyDetectorDescription": { "type": "string" @@ -72989,6 +73508,18 @@ ], "type": "object" }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { "additionalProperties": false, "properties": { @@ -87196,6 +87727,9 @@ "Arn": { "type": "string" }, + "FormatVersion": { + "type": "string" + }, "Namespace": { "type": "string" }, @@ -91382,30 +91916,897 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "type": "string" + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "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": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "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": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::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": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "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": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "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": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "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": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "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": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "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": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "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": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" }, - "KeyManagementServiceArn": { + "RecoveryGroupName": { "type": "string" }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" + "RecoveryGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "type": "string" }, @@ -91424,7 +92825,7 @@ ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -91456,64 +92857,35 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { + "ResourceSetName": { "type": "string" }, - "HostedZoneId": { + "ResourceSetType": { "type": "string" }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { + "Resources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Name", - "Type" + "ResourceSetName", + "ResourceSetType", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "type": "string" }, @@ -91532,200 +92904,79 @@ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { + "DomainName": { "type": "string" }, - "CountryCode": { + "HostedZoneArn": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "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": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], + "RecordType": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.AliasTarget": { + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { "additionalProperties": false, "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { + "Arn": { "type": "string" } }, - "required": [ - "DNSName", - "HostedZoneId" - ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { "additionalProperties": false, "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { + "DomainName": { "type": "string" }, - "SubdivisionCode": { + "RecordSetId": { "type": "string" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { + "ComponentId": { "type": "string" }, - "Region": { - "type": "string" + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" }, - "ResourceRecords": { + "ReadinessScopes": { "items": { "type": "string" }, "type": "array" }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { + "ResourceArn": { "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" }, - "Weight": { - "type": "number" + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" } }, - "required": [ - "Name", - "Type" - ], "type": "object" }, "AWS::Route53Resolver::FirewallDomainList": { @@ -92468,12 +93719,12 @@ "Bucket": { "type": "string" }, - "Name": { - "type": "string" - }, "Policy": { "type": "object" }, + "PolicyStatus": { + "type": "object" + }, "PublicAccessBlockConfiguration": { "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" }, @@ -94421,6 +95672,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, "OutpostId": { "type": "string" }, @@ -113493,9 +114750,15 @@ { "$ref": "#/definitions/AWS::Logs::QueryDefinition" }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, { "$ref": "#/definitions/AWS::LookoutMetrics::Alert" }, @@ -113847,6 +115110,30 @@ { "$ref": "#/definitions/AWS::Route53::RecordSetGroup" }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, { "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" },