From f9d092cb83482a9b5dab678dcbe9368aa9197a77 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 8 Aug 2023 17:46:06 +0200 Subject: [PATCH] fix(schema): CloudFormation Updates (#609) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: RĂºben Fonseca --- cloudformation/all.go | 50 ++ ...gconductor-billinggroup_accountgrouping.go | 5 + .../config/aws-config-configrule.go | 10 + .../aws-config-configrule_compliance.go | 37 + ...-configrule_evaluationmodeconfiguration.go | 37 + .../aws-config-configrule_sourcedetail.go | 8 +- .../dms/aws-dms-replicationconfig.go | 168 ++++ ...aws-dms-replicationconfig_computeconfig.go | 77 ++ cloudformation/ec2/aws-ec2-host.go | 5 + .../glue/aws-glue-classifier_csvclassifier.go | 10 + .../glue/aws-glue-crawler_icebergtarget.go | 52 ++ .../glue/aws-glue-crawler_targets.go | 5 + .../aws-glue-database_databaseidentifier.go | 5 + cloudformation/glue/aws-glue-table.go | 5 + .../glue/aws-glue-table_iceberginput.go | 42 + .../glue/aws-glue-table_metadataoperation.go | 32 + .../aws-glue-table_opentableformatinput.go | 37 + .../glue/aws-glue-table_tableidentifier.go | 5 + cloudformation/kms/aws-kms-key.go | 5 + .../neptune/aws-neptune-dbcluster.go | 5 + cloudformation/omics/aws-omics-rungroup.go | 5 + cloudformation/omics/aws-omics-workflow.go | 5 + .../sagemaker/aws-sagemaker-imageversion.go | 45 ++ .../sqs/aws-sqs-queueinlinepolicy.go | 122 +++ cloudformation/sqs/aws-sqs-queuepolicy.go | 6 +- .../timestream/aws-timestream-table.go | 5 + .../aws-timestream-table_partitionkey.go | 47 ++ .../timestream/aws-timestream-table_schema.go | 37 + .../transfer/aws-transfer-connector.go | 9 +- .../aws-transfer-connector_as2config.go | 5 + .../aws-transfer-connector_sftpconfig.go | 42 + .../aws-wafv2-rulegroup_ratebasedstatement.go | 5 + ...2-rulegroup_ratebasedstatementcustomkey.go | 77 ++ .../aws-wafv2-rulegroup_ratelimitcookie.go | 42 + .../aws-wafv2-rulegroup_ratelimitheader.go | 42 + ...wafv2-rulegroup_ratelimitlabelnamespace.go | 37 + ...-wafv2-rulegroup_ratelimitqueryargument.go | 42 + ...ws-wafv2-rulegroup_ratelimitquerystring.go | 37 + .../aws-wafv2-rulegroup_ratelimituripath.go | 37 + ...wafv2-webacl_awsmanagedrulesacfpruleset.go | 57 ++ ...-wafv2-webacl_awsmanagedrulesatpruleset.go | 5 + ...aws-wafv2-webacl_managedrulegroupconfig.go | 5 + .../aws-wafv2-webacl_ratebasedstatement.go | 5 + ...afv2-webacl_ratebasedstatementcustomkey.go | 77 ++ .../wafv2/aws-wafv2-webacl_ratelimitcookie.go | 42 + .../wafv2/aws-wafv2-webacl_ratelimitheader.go | 42 + ...ws-wafv2-webacl_ratelimitlabelnamespace.go | 37 + ...aws-wafv2-webacl_ratelimitqueryargument.go | 42 + .../aws-wafv2-webacl_ratelimitquerystring.go | 37 + .../aws-wafv2-webacl_ratelimituripath.go | 37 + .../aws-wafv2-webacl_requestinspectionacfp.go | 62 ++ schema/cdk.go | 753 +++++++++++++++++- schema/cdk.schema.json | 753 +++++++++++++++++- schema/cloudformation.go | 753 +++++++++++++++++- schema/cloudformation.schema.json | 753 +++++++++++++++++- schema/sam.go | 753 +++++++++++++++++- schema/sam.schema.json | 753 +++++++++++++++++- 57 files changed, 6198 insertions(+), 15 deletions(-) create mode 100644 cloudformation/config/aws-config-configrule_compliance.go create mode 100644 cloudformation/config/aws-config-configrule_evaluationmodeconfiguration.go create mode 100644 cloudformation/dms/aws-dms-replicationconfig.go create mode 100644 cloudformation/dms/aws-dms-replicationconfig_computeconfig.go create mode 100644 cloudformation/glue/aws-glue-crawler_icebergtarget.go create mode 100644 cloudformation/glue/aws-glue-table_iceberginput.go create mode 100644 cloudformation/glue/aws-glue-table_metadataoperation.go create mode 100644 cloudformation/glue/aws-glue-table_opentableformatinput.go create mode 100644 cloudformation/sqs/aws-sqs-queueinlinepolicy.go create mode 100644 cloudformation/timestream/aws-timestream-table_partitionkey.go create mode 100644 cloudformation/timestream/aws-timestream-table_schema.go create mode 100644 cloudformation/transfer/aws-transfer-connector_sftpconfig.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementcustomkey.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitcookie.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitheader.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitlabelnamespace.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitqueryargument.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitquerystring.go create mode 100644 cloudformation/wafv2/aws-wafv2-rulegroup_ratelimituripath.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesacfpruleset.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementcustomkey.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratelimitcookie.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratelimitheader.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratelimitlabelnamespace.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratelimitqueryargument.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratelimitquerystring.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_ratelimituripath.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_requestinspectionacfp.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 7dd4eb70bf..03497dc42e 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -490,6 +490,7 @@ func AllResources() map[string]Resource { "AWS::DMS::Certificate": &dms.Certificate{}, "AWS::DMS::Endpoint": &dms.Endpoint{}, "AWS::DMS::EventSubscription": &dms.EventSubscription{}, + "AWS::DMS::ReplicationConfig": &dms.ReplicationConfig{}, "AWS::DMS::ReplicationInstance": &dms.ReplicationInstance{}, "AWS::DMS::ReplicationSubnetGroup": &dms.ReplicationSubnetGroup{}, "AWS::DMS::ReplicationTask": &dms.ReplicationTask{}, @@ -1183,6 +1184,7 @@ func AllResources() map[string]Resource { "AWS::SNS::TopicInlinePolicy": &sns.TopicInlinePolicy{}, "AWS::SNS::TopicPolicy": &sns.TopicPolicy{}, "AWS::SQS::Queue": &sqs.Queue{}, + "AWS::SQS::QueueInlinePolicy": &sqs.QueueInlinePolicy{}, "AWS::SQS::QueuePolicy": &sqs.QueuePolicy{}, "AWS::SSM::Association": &ssm.Association{}, "AWS::SSM::Document": &ssm.Document{}, @@ -7521,6 +7523,30 @@ func (t *Template) GetDMSEventSubscriptionWithName(name string) (*dms.EventSubsc return nil, fmt.Errorf("resource %q of type dms.EventSubscription not found", name) } +// GetAllDMSReplicationConfigResources retrieves all dms.ReplicationConfig items from an AWS CloudFormation template +func (t *Template) GetAllDMSReplicationConfigResources() map[string]*dms.ReplicationConfig { + results := map[string]*dms.ReplicationConfig{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *dms.ReplicationConfig: + results[name] = resource + } + } + return results +} + +// GetDMSReplicationConfigWithName retrieves all dms.ReplicationConfig items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetDMSReplicationConfigWithName(name string) (*dms.ReplicationConfig, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *dms.ReplicationConfig: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type dms.ReplicationConfig not found", name) +} + // GetAllDMSReplicationInstanceResources retrieves all dms.ReplicationInstance items from an AWS CloudFormation template func (t *Template) GetAllDMSReplicationInstanceResources() map[string]*dms.ReplicationInstance { results := map[string]*dms.ReplicationInstance{} @@ -24153,6 +24179,30 @@ func (t *Template) GetSQSQueueWithName(name string) (*sqs.Queue, error) { return nil, fmt.Errorf("resource %q of type sqs.Queue not found", name) } +// GetAllSQSQueueInlinePolicyResources retrieves all sqs.QueueInlinePolicy items from an AWS CloudFormation template +func (t *Template) GetAllSQSQueueInlinePolicyResources() map[string]*sqs.QueueInlinePolicy { + results := map[string]*sqs.QueueInlinePolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *sqs.QueueInlinePolicy: + results[name] = resource + } + } + return results +} + +// GetSQSQueueInlinePolicyWithName retrieves all sqs.QueueInlinePolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSQSQueueInlinePolicyWithName(name string) (*sqs.QueueInlinePolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *sqs.QueueInlinePolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type sqs.QueueInlinePolicy not found", name) +} + // GetAllSQSQueuePolicyResources retrieves all sqs.QueuePolicy items from an AWS CloudFormation template func (t *Template) GetAllSQSQueuePolicyResources() map[string]*sqs.QueuePolicy { results := map[string]*sqs.QueuePolicy{} diff --git a/cloudformation/billingconductor/aws-billingconductor-billinggroup_accountgrouping.go b/cloudformation/billingconductor/aws-billingconductor-billinggroup_accountgrouping.go index d6fbafa865..db5d3886d4 100644 --- a/cloudformation/billingconductor/aws-billingconductor-billinggroup_accountgrouping.go +++ b/cloudformation/billingconductor/aws-billingconductor-billinggroup_accountgrouping.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html type BillingGroup_AccountGrouping struct { + // AutoAssociate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html#cfn-billingconductor-billinggroup-accountgrouping-autoassociate + AutoAssociate *bool `json:"AutoAssociate,omitempty"` + // LinkedAccountIds AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html#cfn-billingconductor-billinggroup-accountgrouping-linkedaccountids diff --git a/cloudformation/config/aws-config-configrule.go b/cloudformation/config/aws-config-configrule.go index c7cb88aa64..a959ce0a74 100644 --- a/cloudformation/config/aws-config-configrule.go +++ b/cloudformation/config/aws-config-configrule.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html type ConfigRule struct { + // Compliance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-compliance + Compliance *ConfigRule_Compliance `json:"Compliance,omitempty"` + // ConfigRuleName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-configrulename @@ -23,6 +28,11 @@ type ConfigRule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-description Description *string `json:"Description,omitempty"` + // EvaluationModes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-evaluationmodes + EvaluationModes []ConfigRule_EvaluationModeConfiguration `json:"EvaluationModes,omitempty"` + // InputParameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-inputparameters diff --git a/cloudformation/config/aws-config-configrule_compliance.go b/cloudformation/config/aws-config-configrule_compliance.go new file mode 100644 index 0000000000..6f7b15a77a --- /dev/null +++ b/cloudformation/config/aws-config-configrule_compliance.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package config + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfigRule_Compliance AWS CloudFormation Resource (AWS::Config::ConfigRule.Compliance) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-compliance.html +type ConfigRule_Compliance struct { + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-compliance.html#cfn-config-configrule-compliance-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 *ConfigRule_Compliance) AWSCloudFormationType() string { + return "AWS::Config::ConfigRule.Compliance" +} diff --git a/cloudformation/config/aws-config-configrule_evaluationmodeconfiguration.go b/cloudformation/config/aws-config-configrule_evaluationmodeconfiguration.go new file mode 100644 index 0000000000..21bebe8919 --- /dev/null +++ b/cloudformation/config/aws-config-configrule_evaluationmodeconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package config + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfigRule_EvaluationModeConfiguration AWS CloudFormation Resource (AWS::Config::ConfigRule.EvaluationModeConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-evaluationmodeconfiguration.html +type ConfigRule_EvaluationModeConfiguration struct { + + // Mode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-evaluationmodeconfiguration.html#cfn-config-configrule-evaluationmodeconfiguration-mode + Mode *string `json:"Mode,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 *ConfigRule_EvaluationModeConfiguration) AWSCloudFormationType() string { + return "AWS::Config::ConfigRule.EvaluationModeConfiguration" +} diff --git a/cloudformation/config/aws-config-configrule_sourcedetail.go b/cloudformation/config/aws-config-configrule_sourcedetail.go index 412f31886b..7925b7f9b9 100644 --- a/cloudformation/config/aws-config-configrule_sourcedetail.go +++ b/cloudformation/config/aws-config-configrule_sourcedetail.go @@ -7,22 +7,22 @@ import ( ) // ConfigRule_SourceDetail AWS CloudFormation Resource (AWS::Config::ConfigRule.SourceDetail) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-sourcedetail.html type ConfigRule_SourceDetail struct { // EventSource AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-source-sourcedetail-eventsource + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-sourcedetail.html#cfn-config-configrule-sourcedetail-eventsource EventSource string `json:"EventSource"` // MaximumExecutionFrequency AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-sourcedetail-maximumexecutionfrequency + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-sourcedetail.html#cfn-config-configrule-sourcedetail-maximumexecutionfrequency MaximumExecutionFrequency *string `json:"MaximumExecutionFrequency,omitempty"` // MessageType AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-source-sourcedetail-messagetype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-sourcedetail.html#cfn-config-configrule-sourcedetail-messagetype MessageType string `json:"MessageType"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/dms/aws-dms-replicationconfig.go b/cloudformation/dms/aws-dms-replicationconfig.go new file mode 100644 index 0000000000..8d2dddaffa --- /dev/null +++ b/cloudformation/dms/aws-dms-replicationconfig.go @@ -0,0 +1,168 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dms + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// ReplicationConfig AWS CloudFormation Resource (AWS::DMS::ReplicationConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html +type ReplicationConfig struct { + + // ComputeConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-computeconfig + ComputeConfig *ReplicationConfig_ComputeConfig `json:"ComputeConfig,omitempty"` + + // ReplicationConfigArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationconfigarn + ReplicationConfigArn *string `json:"ReplicationConfigArn,omitempty"` + + // ReplicationConfigIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationconfigidentifier + ReplicationConfigIdentifier *string `json:"ReplicationConfigIdentifier,omitempty"` + + // ReplicationSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationsettings + ReplicationSettings interface{} `json:"ReplicationSettings,omitempty"` + + // ReplicationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-replicationtype + ReplicationType *string `json:"ReplicationType,omitempty"` + + // ResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-resourceidentifier + ResourceIdentifier *string `json:"ResourceIdentifier,omitempty"` + + // SourceEndpointArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-sourceendpointarn + SourceEndpointArn *string `json:"SourceEndpointArn,omitempty"` + + // SupplementalSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-supplementalsettings + SupplementalSettings interface{} `json:"SupplementalSettings,omitempty"` + + // TableMappings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-tablemappings + TableMappings interface{} `json:"TableMappings,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TargetEndpointArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html#cfn-dms-replicationconfig-targetendpointarn + TargetEndpointArn *string `json:"TargetEndpointArn,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 *ReplicationConfig) AWSCloudFormationType() string { + return "AWS::DMS::ReplicationConfig" +} + +// 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 ReplicationConfig) MarshalJSON() ([]byte, error) { + type Properties ReplicationConfig + 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 *ReplicationConfig) UnmarshalJSON(b []byte) error { + type Properties ReplicationConfig + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + 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 { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ReplicationConfig(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + 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/dms/aws-dms-replicationconfig_computeconfig.go b/cloudformation/dms/aws-dms-replicationconfig_computeconfig.go new file mode 100644 index 0000000000..d71f6bab6d --- /dev/null +++ b/cloudformation/dms/aws-dms-replicationconfig_computeconfig.go @@ -0,0 +1,77 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ReplicationConfig_ComputeConfig AWS CloudFormation Resource (AWS::DMS::ReplicationConfig.ComputeConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html +type ReplicationConfig_ComputeConfig struct { + + // AvailabilityZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-availabilityzone + AvailabilityZone *string `json:"AvailabilityZone,omitempty"` + + // DnsNameServers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-dnsnameservers + DnsNameServers *string `json:"DnsNameServers,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-kmskeyid + KmsKeyId *string `json:"KmsKeyId,omitempty"` + + // MaxCapacityUnits AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-maxcapacityunits + MaxCapacityUnits int `json:"MaxCapacityUnits"` + + // MinCapacityUnits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-mincapacityunits + MinCapacityUnits *int `json:"MinCapacityUnits,omitempty"` + + // MultiAZ AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-multiaz + MultiAZ *bool `json:"MultiAZ,omitempty"` + + // PreferredMaintenanceWindow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-preferredmaintenancewindow + PreferredMaintenanceWindow *string `json:"PreferredMaintenanceWindow,omitempty"` + + // ReplicationSubnetGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-replicationsubnetgroupid + ReplicationSubnetGroupId *string `json:"ReplicationSubnetGroupId,omitempty"` + + // VpcSecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-replicationconfig-computeconfig.html#cfn-dms-replicationconfig-computeconfig-vpcsecuritygroupids + VpcSecurityGroupIds []string `json:"VpcSecurityGroupIds,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 *ReplicationConfig_ComputeConfig) AWSCloudFormationType() string { + return "AWS::DMS::ReplicationConfig.ComputeConfig" +} diff --git a/cloudformation/ec2/aws-ec2-host.go b/cloudformation/ec2/aws-ec2-host.go index fff447377d..db76a2c613 100644 --- a/cloudformation/ec2/aws-ec2-host.go +++ b/cloudformation/ec2/aws-ec2-host.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html type Host struct { + // AssetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-assetid + AssetId *string `json:"AssetId,omitempty"` + // AutoPlacement AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-autoplacement diff --git a/cloudformation/glue/aws-glue-classifier_csvclassifier.go b/cloudformation/glue/aws-glue-classifier_csvclassifier.go index 9cd3fb1737..776841a9fe 100644 --- a/cloudformation/glue/aws-glue-classifier_csvclassifier.go +++ b/cloudformation/glue/aws-glue-classifier_csvclassifier.go @@ -15,11 +15,21 @@ type Classifier_CsvClassifier struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-allowsinglecolumn AllowSingleColumn *bool `json:"AllowSingleColumn,omitempty"` + // ContainsCustomDatatype AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containscustomdatatype + ContainsCustomDatatype []string `json:"ContainsCustomDatatype,omitempty"` + // ContainsHeader AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containsheader ContainsHeader *string `json:"ContainsHeader,omitempty"` + // CustomDatatypeConfigured AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-customdatatypeconfigured + CustomDatatypeConfigured *bool `json:"CustomDatatypeConfigured,omitempty"` + // Delimiter AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-delimiter diff --git a/cloudformation/glue/aws-glue-crawler_icebergtarget.go b/cloudformation/glue/aws-glue-crawler_icebergtarget.go new file mode 100644 index 0000000000..4c9d6645da --- /dev/null +++ b/cloudformation/glue/aws-glue-crawler_icebergtarget.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Crawler_IcebergTarget AWS CloudFormation Resource (AWS::Glue::Crawler.IcebergTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html +type Crawler_IcebergTarget struct { + + // ConnectionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-connectionname + ConnectionName *string `json:"ConnectionName,omitempty"` + + // Exclusions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-exclusions + Exclusions []string `json:"Exclusions,omitempty"` + + // MaximumTraversalDepth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-maximumtraversaldepth + MaximumTraversalDepth *int `json:"MaximumTraversalDepth,omitempty"` + + // Paths AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-icebergtarget.html#cfn-glue-crawler-icebergtarget-paths + Paths []string `json:"Paths,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_IcebergTarget) AWSCloudFormationType() string { + return "AWS::Glue::Crawler.IcebergTarget" +} diff --git a/cloudformation/glue/aws-glue-crawler_targets.go b/cloudformation/glue/aws-glue-crawler_targets.go index b6f8e16e86..d4d84d11bc 100644 --- a/cloudformation/glue/aws-glue-crawler_targets.go +++ b/cloudformation/glue/aws-glue-crawler_targets.go @@ -25,6 +25,11 @@ type Crawler_Targets struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets DynamoDBTargets []Crawler_DynamoDBTarget `json:"DynamoDBTargets,omitempty"` + // IcebergTargets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-icebergtargets + IcebergTargets []Crawler_IcebergTarget `json:"IcebergTargets,omitempty"` + // JdbcTargets AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets diff --git a/cloudformation/glue/aws-glue-database_databaseidentifier.go b/cloudformation/glue/aws-glue-database_databaseidentifier.go index f9a8065c1a..f601962efc 100644 --- a/cloudformation/glue/aws-glue-database_databaseidentifier.go +++ b/cloudformation/glue/aws-glue-database_databaseidentifier.go @@ -20,6 +20,11 @@ type Database_DatabaseIdentifier struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html#cfn-glue-database-databaseidentifier-databasename DatabaseName *string `json:"DatabaseName,omitempty"` + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseidentifier.html#cfn-glue-database-databaseidentifier-region + Region *string `json:"Region,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/glue/aws-glue-table.go b/cloudformation/glue/aws-glue-table.go index 61333e3abc..aaaf6755c8 100644 --- a/cloudformation/glue/aws-glue-table.go +++ b/cloudformation/glue/aws-glue-table.go @@ -23,6 +23,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-databasename DatabaseName string `json:"DatabaseName"` + // OpenTableFormatInput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-opentableformatinput + OpenTableFormatInput *Table_OpenTableFormatInput `json:"OpenTableFormatInput,omitempty"` + // TableInput AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-tableinput diff --git a/cloudformation/glue/aws-glue-table_iceberginput.go b/cloudformation/glue/aws-glue-table_iceberginput.go new file mode 100644 index 0000000000..7734e5b2d4 --- /dev/null +++ b/cloudformation/glue/aws-glue-table_iceberginput.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Table_IcebergInput AWS CloudFormation Resource (AWS::Glue::Table.IcebergInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-iceberginput.html +type Table_IcebergInput struct { + + // MetadataOperation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-iceberginput.html#cfn-glue-table-iceberginput-metadataoperation + MetadataOperation *Table_MetadataOperation `json:"MetadataOperation,omitempty"` + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-iceberginput.html#cfn-glue-table-iceberginput-version + Version *string `json:"Version,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_IcebergInput) AWSCloudFormationType() string { + return "AWS::Glue::Table.IcebergInput" +} diff --git a/cloudformation/glue/aws-glue-table_metadataoperation.go b/cloudformation/glue/aws-glue-table_metadataoperation.go new file mode 100644 index 0000000000..7eb00fb265 --- /dev/null +++ b/cloudformation/glue/aws-glue-table_metadataoperation.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Table_MetadataOperation AWS CloudFormation Resource (AWS::Glue::Table.MetadataOperation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-metadataoperation.html +type Table_MetadataOperation 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 *Table_MetadataOperation) AWSCloudFormationType() string { + return "AWS::Glue::Table.MetadataOperation" +} diff --git a/cloudformation/glue/aws-glue-table_opentableformatinput.go b/cloudformation/glue/aws-glue-table_opentableformatinput.go new file mode 100644 index 0000000000..31cc244d1a --- /dev/null +++ b/cloudformation/glue/aws-glue-table_opentableformatinput.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Table_OpenTableFormatInput AWS CloudFormation Resource (AWS::Glue::Table.OpenTableFormatInput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-opentableformatinput.html +type Table_OpenTableFormatInput struct { + + // IcebergInput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-opentableformatinput.html#cfn-glue-table-opentableformatinput-iceberginput + IcebergInput *Table_IcebergInput `json:"IcebergInput,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_OpenTableFormatInput) AWSCloudFormationType() string { + return "AWS::Glue::Table.OpenTableFormatInput" +} diff --git a/cloudformation/glue/aws-glue-table_tableidentifier.go b/cloudformation/glue/aws-glue-table_tableidentifier.go index 2059debcdd..7f1f986668 100644 --- a/cloudformation/glue/aws-glue-table_tableidentifier.go +++ b/cloudformation/glue/aws-glue-table_tableidentifier.go @@ -25,6 +25,11 @@ type Table_TableIdentifier struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-name Name *string `json:"Name,omitempty"` + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableidentifier.html#cfn-glue-table-tableidentifier-region + Region *string `json:"Region,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/kms/aws-kms-key.go b/cloudformation/kms/aws-kms-key.go index 2acbef3da3..144d916463 100644 --- a/cloudformation/kms/aws-kms-key.go +++ b/cloudformation/kms/aws-kms-key.go @@ -49,6 +49,11 @@ type Key struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-multiregion MultiRegion *bool `json:"MultiRegion,omitempty"` + // Origin AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-origin + Origin *string `json:"Origin,omitempty"` + // PendingWindowInDays AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-pendingwindowindays diff --git a/cloudformation/neptune/aws-neptune-dbcluster.go b/cloudformation/neptune/aws-neptune-dbcluster.go index 909a65c321..1156c23a62 100644 --- a/cloudformation/neptune/aws-neptune-dbcluster.go +++ b/cloudformation/neptune/aws-neptune-dbcluster.go @@ -49,6 +49,11 @@ type DBCluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbinstanceparametergroupname DBInstanceParameterGroupName *string `json:"DBInstanceParameterGroupName,omitempty"` + // DBPort AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbport + DBPort *int `json:"DBPort,omitempty"` + // DBSubnetGroupName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbsubnetgroupname diff --git a/cloudformation/omics/aws-omics-rungroup.go b/cloudformation/omics/aws-omics-rungroup.go index 01e138b087..cda677bea3 100644 --- a/cloudformation/omics/aws-omics-rungroup.go +++ b/cloudformation/omics/aws-omics-rungroup.go @@ -23,6 +23,11 @@ type RunGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html#cfn-omics-rungroup-maxduration MaxDuration *float64 `json:"MaxDuration,omitempty"` + // MaxGpus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html#cfn-omics-rungroup-maxgpus + MaxGpus *float64 `json:"MaxGpus,omitempty"` + // MaxRuns AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html#cfn-omics-rungroup-maxruns diff --git a/cloudformation/omics/aws-omics-workflow.go b/cloudformation/omics/aws-omics-workflow.go index d3d91cac2c..906337e032 100644 --- a/cloudformation/omics/aws-omics-workflow.go +++ b/cloudformation/omics/aws-omics-workflow.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html type Workflow struct { + // Accelerators AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html#cfn-omics-workflow-accelerators + Accelerators *string `json:"Accelerators,omitempty"` + // DefinitionUri AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html#cfn-omics-workflow-definitionuri diff --git a/cloudformation/sagemaker/aws-sagemaker-imageversion.go b/cloudformation/sagemaker/aws-sagemaker-imageversion.go index a6a1a6240c..536059d804 100644 --- a/cloudformation/sagemaker/aws-sagemaker-imageversion.go +++ b/cloudformation/sagemaker/aws-sagemaker-imageversion.go @@ -13,16 +13,61 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html type ImageVersion struct { + // Alias AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-alias + Alias *string `json:"Alias,omitempty"` + + // Aliases AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-aliases + Aliases []string `json:"Aliases,omitempty"` + // BaseImage AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-baseimage BaseImage string `json:"BaseImage"` + // Horovod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-horovod + Horovod *bool `json:"Horovod,omitempty"` + // ImageName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-imagename ImageName string `json:"ImageName"` + // JobType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-jobtype + JobType *string `json:"JobType,omitempty"` + + // MLFramework AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-mlframework + MLFramework *string `json:"MLFramework,omitempty"` + + // Processor AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-processor + Processor *string `json:"Processor,omitempty"` + + // ProgrammingLang AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-programminglang + ProgrammingLang *string `json:"ProgrammingLang,omitempty"` + + // ReleaseNotes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-releasenotes + ReleaseNotes *string `json:"ReleaseNotes,omitempty"` + + // VendorGuidance AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-vendorguidance + VendorGuidance *string `json:"VendorGuidance,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sqs/aws-sqs-queueinlinepolicy.go b/cloudformation/sqs/aws-sqs-queueinlinepolicy.go new file mode 100644 index 0000000000..9fc54a8347 --- /dev/null +++ b/cloudformation/sqs/aws-sqs-queueinlinepolicy.go @@ -0,0 +1,122 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sqs + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// QueueInlinePolicy AWS CloudFormation Resource (AWS::SQS::QueueInlinePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html +type QueueInlinePolicy struct { + + // PolicyDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html#cfn-sqs-queueinlinepolicy-policydocument + PolicyDocument interface{} `json:"PolicyDocument"` + + // Queue AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html#cfn-sqs-queueinlinepolicy-queue + Queue string `json:"Queue"` + + // 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 *QueueInlinePolicy) AWSCloudFormationType() string { + return "AWS::SQS::QueueInlinePolicy" +} + +// 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 QueueInlinePolicy) MarshalJSON() ([]byte, error) { + type Properties QueueInlinePolicy + 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 *QueueInlinePolicy) UnmarshalJSON(b []byte) error { + type Properties QueueInlinePolicy + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + 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 { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = QueueInlinePolicy(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + 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/sqs/aws-sqs-queuepolicy.go b/cloudformation/sqs/aws-sqs-queuepolicy.go index adc8aa9d2e..fa2aff5632 100644 --- a/cloudformation/sqs/aws-sqs-queuepolicy.go +++ b/cloudformation/sqs/aws-sqs-queuepolicy.go @@ -10,17 +10,17 @@ import ( ) // QueuePolicy AWS CloudFormation Resource (AWS::SQS::QueuePolicy) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html type QueuePolicy struct { // PolicyDocument AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html#cfn-sqs-queuepolicy-policydoc + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html#cfn-sqs-queuepolicy-policydocument PolicyDocument interface{} `json:"PolicyDocument"` // Queues AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html#cfn-sqs-queuepolicy-queues + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html#cfn-sqs-queuepolicy-queues Queues []string `json:"Queues"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/timestream/aws-timestream-table.go b/cloudformation/timestream/aws-timestream-table.go index 3835c1796c..c68e55bca5 100644 --- a/cloudformation/timestream/aws-timestream-table.go +++ b/cloudformation/timestream/aws-timestream-table.go @@ -29,6 +29,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-retentionproperties RetentionProperties *Table_RetentionProperties `json:"RetentionProperties,omitempty"` + // Schema AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-schema + Schema *Table_Schema `json:"Schema,omitempty"` + // TableName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-tablename diff --git a/cloudformation/timestream/aws-timestream-table_partitionkey.go b/cloudformation/timestream/aws-timestream-table_partitionkey.go new file mode 100644 index 0000000000..a6966b2b5b --- /dev/null +++ b/cloudformation/timestream/aws-timestream-table_partitionkey.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package timestream + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Table_PartitionKey AWS CloudFormation Resource (AWS::Timestream::Table.PartitionKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html +type Table_PartitionKey struct { + + // EnforcementInRecord AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-enforcementinrecord + EnforcementInRecord *string `json:"EnforcementInRecord,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-name + Name *string `json:"Name,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-type + Type string `json:"Type"` + + // 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_PartitionKey) AWSCloudFormationType() string { + return "AWS::Timestream::Table.PartitionKey" +} diff --git a/cloudformation/timestream/aws-timestream-table_schema.go b/cloudformation/timestream/aws-timestream-table_schema.go new file mode 100644 index 0000000000..76bfcf211b --- /dev/null +++ b/cloudformation/timestream/aws-timestream-table_schema.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package timestream + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Table_Schema AWS CloudFormation Resource (AWS::Timestream::Table.Schema) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-schema.html +type Table_Schema struct { + + // CompositePartitionKey AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-schema.html#cfn-timestream-table-schema-compositepartitionkey + CompositePartitionKey []Table_PartitionKey `json:"CompositePartitionKey,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_Schema) AWSCloudFormationType() string { + return "AWS::Timestream::Table.Schema" +} diff --git a/cloudformation/transfer/aws-transfer-connector.go b/cloudformation/transfer/aws-transfer-connector.go index 6830bb1d89..9a6268bbc4 100644 --- a/cloudformation/transfer/aws-transfer-connector.go +++ b/cloudformation/transfer/aws-transfer-connector.go @@ -20,15 +20,20 @@ type Connector struct { AccessRole string `json:"AccessRole"` // As2Config AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-as2config - As2Config *Connector_As2Config `json:"As2Config"` + As2Config *Connector_As2Config `json:"As2Config,omitempty"` // LoggingRole AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-loggingrole LoggingRole *string `json:"LoggingRole,omitempty"` + // SftpConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-sftpconfig + SftpConfig *Connector_SftpConfig `json:"SftpConfig,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-tags diff --git a/cloudformation/transfer/aws-transfer-connector_as2config.go b/cloudformation/transfer/aws-transfer-connector_as2config.go index 1c4ed6d60b..6799f2a6fb 100644 --- a/cloudformation/transfer/aws-transfer-connector_as2config.go +++ b/cloudformation/transfer/aws-transfer-connector_as2config.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-as2config.html type Connector_As2Config struct { + // BasicAuthSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-as2config.html#cfn-transfer-connector-as2config-basicauthsecretid + BasicAuthSecretId *string `json:"BasicAuthSecretId,omitempty"` + // Compression AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-as2config.html#cfn-transfer-connector-as2config-compression diff --git a/cloudformation/transfer/aws-transfer-connector_sftpconfig.go b/cloudformation/transfer/aws-transfer-connector_sftpconfig.go new file mode 100644 index 0000000000..dd794fe64f --- /dev/null +++ b/cloudformation/transfer/aws-transfer-connector_sftpconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Connector_SftpConfig AWS CloudFormation Resource (AWS::Transfer::Connector.SftpConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html +type Connector_SftpConfig struct { + + // TrustedHostKeys AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html#cfn-transfer-connector-sftpconfig-trustedhostkeys + TrustedHostKeys []string `json:"TrustedHostKeys,omitempty"` + + // UserSecretId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html#cfn-transfer-connector-sftpconfig-usersecretid + UserSecretId *string `json:"UserSecretId,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 *Connector_SftpConfig) AWSCloudFormationType() string { + return "AWS::Transfer::Connector.SftpConfig" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatement.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatement.go index d2660287f8..d9fa2e295f 100644 --- a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatement.go +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatement.go @@ -15,6 +15,11 @@ type RuleGroup_RateBasedStatement struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-aggregatekeytype AggregateKeyType string `json:"AggregateKeyType"` + // CustomKeys AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-customkeys + CustomKeys []RuleGroup_RateBasedStatementCustomKey `json:"CustomKeys,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-forwardedipconfig diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementcustomkey.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementcustomkey.go new file mode 100644 index 0000000000..7699d1c6f1 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratebasedstatementcustomkey.go @@ -0,0 +1,77 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateBasedStatementCustomKey AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html +type RuleGroup_RateBasedStatementCustomKey struct { + + // Cookie AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-cookie + Cookie *RuleGroup_RateLimitCookie `json:"Cookie,omitempty"` + + // ForwardedIP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-forwardedip + ForwardedIP interface{} `json:"ForwardedIP,omitempty"` + + // HTTPMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-httpmethod + HTTPMethod interface{} `json:"HTTPMethod,omitempty"` + + // Header AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-header + Header *RuleGroup_RateLimitHeader `json:"Header,omitempty"` + + // IP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-ip + IP interface{} `json:"IP,omitempty"` + + // LabelNamespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-labelnamespace + LabelNamespace *RuleGroup_RateLimitLabelNamespace `json:"LabelNamespace,omitempty"` + + // QueryArgument AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-queryargument + QueryArgument *RuleGroup_RateLimitQueryArgument `json:"QueryArgument,omitempty"` + + // QueryString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-querystring + QueryString *RuleGroup_RateLimitQueryString `json:"QueryString,omitempty"` + + // UriPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-uripath + UriPath *RuleGroup_RateLimitUriPath `json:"UriPath,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 *RuleGroup_RateBasedStatementCustomKey) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitcookie.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitcookie.go new file mode 100644 index 0000000000..d00d910b7d --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitcookie.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateLimitCookie AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateLimitCookie) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitcookie.html +type RuleGroup_RateLimitCookie struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitcookie.html#cfn-wafv2-rulegroup-ratelimitcookie-name + Name string `json:"Name"` + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitcookie.html#cfn-wafv2-rulegroup-ratelimitcookie-texttransformations + TextTransformations []RuleGroup_TextTransformation `json:"TextTransformations"` + + // 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 *RuleGroup_RateLimitCookie) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateLimitCookie" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitheader.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitheader.go new file mode 100644 index 0000000000..222f57eae5 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitheader.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateLimitHeader AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateLimitHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitheader.html +type RuleGroup_RateLimitHeader struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitheader.html#cfn-wafv2-rulegroup-ratelimitheader-name + Name string `json:"Name"` + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitheader.html#cfn-wafv2-rulegroup-ratelimitheader-texttransformations + TextTransformations []RuleGroup_TextTransformation `json:"TextTransformations"` + + // 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 *RuleGroup_RateLimitHeader) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateLimitHeader" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitlabelnamespace.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitlabelnamespace.go new file mode 100644 index 0000000000..64e8c85370 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitlabelnamespace.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateLimitLabelNamespace AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateLimitLabelNamespace) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitlabelnamespace.html +type RuleGroup_RateLimitLabelNamespace struct { + + // Namespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitlabelnamespace.html#cfn-wafv2-rulegroup-ratelimitlabelnamespace-namespace + Namespace string `json:"Namespace"` + + // 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 *RuleGroup_RateLimitLabelNamespace) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitqueryargument.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitqueryargument.go new file mode 100644 index 0000000000..6b87bbeca9 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitqueryargument.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateLimitQueryArgument AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateLimitQueryArgument) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitqueryargument.html +type RuleGroup_RateLimitQueryArgument struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitqueryargument.html#cfn-wafv2-rulegroup-ratelimitqueryargument-name + Name string `json:"Name"` + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitqueryargument.html#cfn-wafv2-rulegroup-ratelimitqueryargument-texttransformations + TextTransformations []RuleGroup_TextTransformation `json:"TextTransformations"` + + // 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 *RuleGroup_RateLimitQueryArgument) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateLimitQueryArgument" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitquerystring.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitquerystring.go new file mode 100644 index 0000000000..cbc5fdd7a3 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimitquerystring.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateLimitQueryString AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateLimitQueryString) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitquerystring.html +type RuleGroup_RateLimitQueryString struct { + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimitquerystring.html#cfn-wafv2-rulegroup-ratelimitquerystring-texttransformations + TextTransformations []RuleGroup_TextTransformation `json:"TextTransformations"` + + // 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 *RuleGroup_RateLimitQueryString) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateLimitQueryString" +} diff --git a/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimituripath.go b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimituripath.go new file mode 100644 index 0000000000..4e1e8c7811 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-rulegroup_ratelimituripath.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RuleGroup_RateLimitUriPath AWS CloudFormation Resource (AWS::WAFv2::RuleGroup.RateLimitUriPath) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimituripath.html +type RuleGroup_RateLimitUriPath struct { + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratelimituripath.html#cfn-wafv2-rulegroup-ratelimituripath-texttransformations + TextTransformations []RuleGroup_TextTransformation `json:"TextTransformations"` + + // 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 *RuleGroup_RateLimitUriPath) AWSCloudFormationType() string { + return "AWS::WAFv2::RuleGroup.RateLimitUriPath" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesacfpruleset.go b/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesacfpruleset.go new file mode 100644 index 0000000000..d126badf31 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesacfpruleset.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_AWSManagedRulesACFPRuleSet AWS CloudFormation Resource (AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html +type WebACL_AWSManagedRulesACFPRuleSet struct { + + // CreationPath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-creationpath + CreationPath string `json:"CreationPath"` + + // EnableRegexInPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-enableregexinpath + EnableRegexInPath *bool `json:"EnableRegexInPath,omitempty"` + + // RegistrationPagePath AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-registrationpagepath + RegistrationPagePath string `json:"RegistrationPagePath"` + + // RequestInspection AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-requestinspection + RequestInspection *WebACL_RequestInspectionACFP `json:"RequestInspection"` + + // ResponseInspection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-responseinspection + ResponseInspection *WebACL_ResponseInspection `json:"ResponseInspection,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 *WebACL_AWSManagedRulesACFPRuleSet) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go b/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go index 38ae09c75f..a60def9aba 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html type WebACL_AWSManagedRulesATPRuleSet struct { + // EnableRegexInPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html#cfn-wafv2-webacl-awsmanagedrulesatpruleset-enableregexinpath + EnableRegexInPath *bool `json:"EnableRegexInPath,omitempty"` + // LoginPath AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html#cfn-wafv2-webacl-awsmanagedrulesatpruleset-loginpath diff --git a/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupconfig.go b/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupconfig.go index c1fc71a877..1df2b9935b 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupconfig.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupconfig.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html type WebACL_ManagedRuleGroupConfig struct { + // AWSManagedRulesACFPRuleSet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesacfpruleset + AWSManagedRulesACFPRuleSet *WebACL_AWSManagedRulesACFPRuleSet `json:"AWSManagedRulesACFPRuleSet,omitempty"` + // AWSManagedRulesATPRuleSet AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesatpruleset diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatement.go b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatement.go index cbb266a7bf..b73adf562a 100644 --- a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatement.go +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatement.go @@ -15,6 +15,11 @@ type WebACL_RateBasedStatement struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatement.html#cfn-wafv2-webacl-ratebasedstatement-aggregatekeytype AggregateKeyType string `json:"AggregateKeyType"` + // CustomKeys AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatement.html#cfn-wafv2-webacl-ratebasedstatement-customkeys + CustomKeys []WebACL_RateBasedStatementCustomKey `json:"CustomKeys,omitempty"` + // ForwardedIPConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatement.html#cfn-wafv2-webacl-ratebasedstatement-forwardedipconfig diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementcustomkey.go b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementcustomkey.go new file mode 100644 index 0000000000..61fb0427df --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratebasedstatementcustomkey.go @@ -0,0 +1,77 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateBasedStatementCustomKey AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateBasedStatementCustomKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html +type WebACL_RateBasedStatementCustomKey struct { + + // Cookie AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-cookie + Cookie *WebACL_RateLimitCookie `json:"Cookie,omitempty"` + + // ForwardedIP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-forwardedip + ForwardedIP interface{} `json:"ForwardedIP,omitempty"` + + // HTTPMethod AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-httpmethod + HTTPMethod interface{} `json:"HTTPMethod,omitempty"` + + // Header AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-header + Header *WebACL_RateLimitHeader `json:"Header,omitempty"` + + // IP AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-ip + IP interface{} `json:"IP,omitempty"` + + // LabelNamespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-labelnamespace + LabelNamespace *WebACL_RateLimitLabelNamespace `json:"LabelNamespace,omitempty"` + + // QueryArgument AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-queryargument + QueryArgument *WebACL_RateLimitQueryArgument `json:"QueryArgument,omitempty"` + + // QueryString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-querystring + QueryString *WebACL_RateLimitQueryString `json:"QueryString,omitempty"` + + // UriPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-uripath + UriPath *WebACL_RateLimitUriPath `json:"UriPath,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 *WebACL_RateBasedStatementCustomKey) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateBasedStatementCustomKey" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratelimitcookie.go b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitcookie.go new file mode 100644 index 0000000000..f5c0445e51 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitcookie.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateLimitCookie AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateLimitCookie) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitcookie.html +type WebACL_RateLimitCookie struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitcookie.html#cfn-wafv2-webacl-ratelimitcookie-name + Name string `json:"Name"` + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitcookie.html#cfn-wafv2-webacl-ratelimitcookie-texttransformations + TextTransformations []WebACL_TextTransformation `json:"TextTransformations"` + + // 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 *WebACL_RateLimitCookie) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateLimitCookie" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratelimitheader.go b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitheader.go new file mode 100644 index 0000000000..6bdb6da6b1 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitheader.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateLimitHeader AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateLimitHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitheader.html +type WebACL_RateLimitHeader struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitheader.html#cfn-wafv2-webacl-ratelimitheader-name + Name string `json:"Name"` + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitheader.html#cfn-wafv2-webacl-ratelimitheader-texttransformations + TextTransformations []WebACL_TextTransformation `json:"TextTransformations"` + + // 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 *WebACL_RateLimitHeader) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateLimitHeader" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratelimitlabelnamespace.go b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitlabelnamespace.go new file mode 100644 index 0000000000..ff2726d073 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitlabelnamespace.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateLimitLabelNamespace AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateLimitLabelNamespace) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitlabelnamespace.html +type WebACL_RateLimitLabelNamespace struct { + + // Namespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitlabelnamespace.html#cfn-wafv2-webacl-ratelimitlabelnamespace-namespace + Namespace string `json:"Namespace"` + + // 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 *WebACL_RateLimitLabelNamespace) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateLimitLabelNamespace" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratelimitqueryargument.go b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitqueryargument.go new file mode 100644 index 0000000000..feb8372142 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitqueryargument.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateLimitQueryArgument AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateLimitQueryArgument) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitqueryargument.html +type WebACL_RateLimitQueryArgument struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitqueryargument.html#cfn-wafv2-webacl-ratelimitqueryargument-name + Name string `json:"Name"` + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitqueryargument.html#cfn-wafv2-webacl-ratelimitqueryargument-texttransformations + TextTransformations []WebACL_TextTransformation `json:"TextTransformations"` + + // 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 *WebACL_RateLimitQueryArgument) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateLimitQueryArgument" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratelimitquerystring.go b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitquerystring.go new file mode 100644 index 0000000000..d8f09f2b0d --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratelimitquerystring.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateLimitQueryString AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateLimitQueryString) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitquerystring.html +type WebACL_RateLimitQueryString struct { + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitquerystring.html#cfn-wafv2-webacl-ratelimitquerystring-texttransformations + TextTransformations []WebACL_TextTransformation `json:"TextTransformations"` + + // 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 *WebACL_RateLimitQueryString) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateLimitQueryString" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_ratelimituripath.go b/cloudformation/wafv2/aws-wafv2-webacl_ratelimituripath.go new file mode 100644 index 0000000000..b6ac8eb1c5 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_ratelimituripath.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RateLimitUriPath AWS CloudFormation Resource (AWS::WAFv2::WebACL.RateLimitUriPath) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimituripath.html +type WebACL_RateLimitUriPath struct { + + // TextTransformations AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimituripath.html#cfn-wafv2-webacl-ratelimituripath-texttransformations + TextTransformations []WebACL_TextTransformation `json:"TextTransformations"` + + // 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 *WebACL_RateLimitUriPath) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RateLimitUriPath" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_requestinspectionacfp.go b/cloudformation/wafv2/aws-wafv2-webacl_requestinspectionacfp.go new file mode 100644 index 0000000000..a0d65a2a69 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_requestinspectionacfp.go @@ -0,0 +1,62 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RequestInspectionACFP AWS CloudFormation Resource (AWS::WAFv2::WebACL.RequestInspectionACFP) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html +type WebACL_RequestInspectionACFP struct { + + // AddressFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-addressfields + AddressFields []WebACL_FieldIdentifier `json:"AddressFields,omitempty"` + + // EmailField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-emailfield + EmailField *WebACL_FieldIdentifier `json:"EmailField,omitempty"` + + // PasswordField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-passwordfield + PasswordField *WebACL_FieldIdentifier `json:"PasswordField,omitempty"` + + // PayloadType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-payloadtype + PayloadType string `json:"PayloadType"` + + // PhoneNumberFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-phonenumberfields + PhoneNumberFields []WebACL_FieldIdentifier `json:"PhoneNumberFields,omitempty"` + + // UsernameField AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-usernamefield + UsernameField *WebACL_FieldIdentifier `json:"UsernameField,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 *WebACL_RequestInspectionACFP) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RequestInspectionACFP" +} diff --git a/schema/cdk.go b/schema/cdk.go index 3bd93b402f..737b8d14b1 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -21293,6 +21293,9 @@ var CdkSchema = `{ "AWS::BillingConductor::BillingGroup.AccountGrouping": { "additionalProperties": false, "properties": { + "AutoAssociate": { + "type": "boolean" + }, "LinkedAccountIds": { "items": { "type": "string" @@ -34394,12 +34397,21 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance" + }, "ConfigRuleName": { "type": "string" }, "Description": { "type": "string" }, + "EvaluationModes": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" + }, + "type": "array" + }, "InputParameters": { "type": "object" }, @@ -34439,6 +34451,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Config::ConfigRule.Compliance": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.CustomPolicyDetails": { "additionalProperties": false, "properties": { @@ -34454,6 +34475,15 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -40792,6 +40822,139 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DMS::ReplicationConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "type": "object" + }, + "ReplicationType": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "type": "object" + }, + "TableMappings": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationConfig.ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "number" + }, + "MinCapacityUnits": { + "type": "number" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { @@ -48434,6 +48597,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssetId": { + "type": "string" + }, "AutoPlacement": { "type": "string" }, @@ -73273,9 +73439,18 @@ var CdkSchema = `{ "AllowSingleColumn": { "type": "boolean" }, + "ContainsCustomDatatype": { + "items": { + "type": "string" + }, + "type": "array" + }, "ContainsHeader": { "type": "string" }, + "CustomDatatypeConfigured": { + "type": "boolean" + }, "Delimiter": { "type": "string" }, @@ -73629,6 +73804,30 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.IcebergTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumTraversalDepth": { + "type": "number" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { @@ -73737,6 +73936,12 @@ var CdkSchema = `{ }, "type": "array" }, + "IcebergTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.IcebergTarget" + }, + "type": "array" + }, "JdbcTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" @@ -74037,6 +74242,9 @@ var CdkSchema = `{ }, "DatabaseName": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -75346,6 +75554,9 @@ var CdkSchema = `{ "DatabaseName": { "type": "string" }, + "OpenTableFormatInput": { + "$ref": "#/definitions/AWS::Glue::Table.OpenTableFormatInput" + }, "TableInput": { "$ref": "#/definitions/AWS::Glue::Table.TableInput" } @@ -75396,6 +75607,32 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Glue::Table.IcebergInput": { + "additionalProperties": false, + "properties": { + "MetadataOperation": { + "$ref": "#/definitions/AWS::Glue::Table.MetadataOperation" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.MetadataOperation": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table.OpenTableFormatInput": { + "additionalProperties": false, + "properties": { + "IcebergInput": { + "$ref": "#/definitions/AWS::Glue::Table.IcebergInput" + } + }, + "type": "object" + }, "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { @@ -75543,6 +75780,9 @@ var CdkSchema = `{ }, "Name": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -94801,6 +95041,9 @@ var CdkSchema = `{ "MultiRegion": { "type": "boolean" }, + "Origin": { + "type": "string" + }, "PendingWindowInDays": { "type": "number" }, @@ -117467,6 +117710,9 @@ var CdkSchema = `{ "DBInstanceParameterGroupName": { "type": "string" }, + "DBPort": { + "type": "number" + }, "DBSubnetGroupName": { "type": "string" }, @@ -121507,6 +121753,9 @@ var CdkSchema = `{ "MaxDuration": { "type": "number" }, + "MaxGpus": { + "type": "number" + }, "MaxRuns": { "type": "number" }, @@ -121789,6 +122038,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Accelerators": { + "type": "string" + }, "DefinitionUri": { "type": "string" }, @@ -170998,6 +171250,75 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SQS::QueueInlinePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "PolicyDocument": { + "type": "object" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "Queue" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueueInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { @@ -175773,11 +176094,41 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, "BaseImage": { "type": "string" }, + "Horovod": { + "type": "boolean" + }, "ImageName": { "type": "string" + }, + "JobType": { + "type": "string" + }, + "MLFramework": { + "type": "string" + }, + "Processor": { + "type": "string" + }, + "ProgrammingLang": { + "type": "string" + }, + "ReleaseNotes": { + "type": "string" + }, + "VendorGuidance": { + "type": "string" } }, "required": [ @@ -186260,6 +186611,9 @@ var CdkSchema = `{ "RetentionProperties": { "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties" }, + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema" + }, "TableName": { "type": "string" }, @@ -186320,6 +186674,24 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Timestream::Table.PartitionKey": { + "additionalProperties": false, + "properties": { + "EnforcementInRecord": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { @@ -186354,6 +186726,18 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -186581,6 +186965,9 @@ var CdkSchema = `{ "LoggingRole": { "type": "string" }, + "SftpConfig": { + "$ref": "#/definitions/AWS::Transfer::Connector.SftpConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -186593,7 +186980,6 @@ var CdkSchema = `{ }, "required": [ "AccessRole", - "As2Config", "Url" ], "type": "object" @@ -186622,6 +187008,9 @@ var CdkSchema = `{ "AWS::Transfer::Connector.As2Config": { "additionalProperties": false, "properties": { + "BasicAuthSecretId": { + "type": "string" + }, "Compression": { "type": "string" }, @@ -186649,6 +187038,21 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Transfer::Connector.SftpConfig": { + "additionalProperties": false, + "properties": { + "TrustedHostKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -191712,6 +192116,12 @@ var CdkSchema = `{ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" }, @@ -191728,6 +192138,138 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192122,9 +192664,38 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet": { + "additionalProperties": false, + "properties": { + "CreationPath": { + "type": "string" + }, + "EnableRegexInPath": { + "type": "boolean" + }, + "RegistrationPagePath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspectionACFP" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "CreationPath", + "RegistrationPagePath", + "RequestInspection" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { "additionalProperties": false, "properties": { + "EnableRegexInPath": { + "type": "boolean" + }, "LoginPath": { "type": "string" }, @@ -192651,6 +193222,9 @@ var CdkSchema = `{ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesACFPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" + }, "AWSManagedRulesATPRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" }, @@ -192757,6 +193331,12 @@ var CdkSchema = `{ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" }, @@ -192773,6 +193353,138 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192851,6 +193563,39 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspectionACFP": { + "additionalProperties": false, + "properties": { + "AddressFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "EmailField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "PhoneNumberFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PayloadType" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.ResponseInspection": { "additionalProperties": false, "properties": { @@ -195216,6 +195961,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::DMS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig" + }, { "$ref": "#/definitions/AWS::DMS::ReplicationInstance" }, @@ -197295,6 +198043,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::SQS::Queue" }, + { + "$ref": "#/definitions/AWS::SQS::QueueInlinePolicy" + }, { "$ref": "#/definitions/AWS::SQS::QueuePolicy" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 9f45df6dc0..1eafd6eb2c 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -21288,6 +21288,9 @@ "AWS::BillingConductor::BillingGroup.AccountGrouping": { "additionalProperties": false, "properties": { + "AutoAssociate": { + "type": "boolean" + }, "LinkedAccountIds": { "items": { "type": "string" @@ -34389,12 +34392,21 @@ "Properties": { "additionalProperties": false, "properties": { + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance" + }, "ConfigRuleName": { "type": "string" }, "Description": { "type": "string" }, + "EvaluationModes": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" + }, + "type": "array" + }, "InputParameters": { "type": "object" }, @@ -34434,6 +34446,15 @@ ], "type": "object" }, + "AWS::Config::ConfigRule.Compliance": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.CustomPolicyDetails": { "additionalProperties": false, "properties": { @@ -34449,6 +34470,15 @@ }, "type": "object" }, + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -40787,6 +40817,139 @@ ], "type": "object" }, + "AWS::DMS::ReplicationConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "type": "object" + }, + "ReplicationType": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "type": "object" + }, + "TableMappings": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationConfig.ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "number" + }, + "MinCapacityUnits": { + "type": "number" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { @@ -48429,6 +48592,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AssetId": { + "type": "string" + }, "AutoPlacement": { "type": "string" }, @@ -73268,9 +73434,18 @@ "AllowSingleColumn": { "type": "boolean" }, + "ContainsCustomDatatype": { + "items": { + "type": "string" + }, + "type": "array" + }, "ContainsHeader": { "type": "string" }, + "CustomDatatypeConfigured": { + "type": "boolean" + }, "Delimiter": { "type": "string" }, @@ -73624,6 +73799,30 @@ }, "type": "object" }, + "AWS::Glue::Crawler.IcebergTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumTraversalDepth": { + "type": "number" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { @@ -73732,6 +73931,12 @@ }, "type": "array" }, + "IcebergTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.IcebergTarget" + }, + "type": "array" + }, "JdbcTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" @@ -74032,6 +74237,9 @@ }, "DatabaseName": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -75341,6 +75549,9 @@ "DatabaseName": { "type": "string" }, + "OpenTableFormatInput": { + "$ref": "#/definitions/AWS::Glue::Table.OpenTableFormatInput" + }, "TableInput": { "$ref": "#/definitions/AWS::Glue::Table.TableInput" } @@ -75391,6 +75602,32 @@ ], "type": "object" }, + "AWS::Glue::Table.IcebergInput": { + "additionalProperties": false, + "properties": { + "MetadataOperation": { + "$ref": "#/definitions/AWS::Glue::Table.MetadataOperation" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.MetadataOperation": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table.OpenTableFormatInput": { + "additionalProperties": false, + "properties": { + "IcebergInput": { + "$ref": "#/definitions/AWS::Glue::Table.IcebergInput" + } + }, + "type": "object" + }, "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { @@ -75538,6 +75775,9 @@ }, "Name": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -94796,6 +95036,9 @@ "MultiRegion": { "type": "boolean" }, + "Origin": { + "type": "string" + }, "PendingWindowInDays": { "type": "number" }, @@ -117462,6 +117705,9 @@ "DBInstanceParameterGroupName": { "type": "string" }, + "DBPort": { + "type": "number" + }, "DBSubnetGroupName": { "type": "string" }, @@ -121502,6 +121748,9 @@ "MaxDuration": { "type": "number" }, + "MaxGpus": { + "type": "number" + }, "MaxRuns": { "type": "number" }, @@ -121784,6 +122033,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Accelerators": { + "type": "string" + }, "DefinitionUri": { "type": "string" }, @@ -170993,6 +171245,75 @@ ], "type": "object" }, + "AWS::SQS::QueueInlinePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "PolicyDocument": { + "type": "object" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "Queue" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueueInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { @@ -175768,11 +176089,41 @@ "Properties": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, "BaseImage": { "type": "string" }, + "Horovod": { + "type": "boolean" + }, "ImageName": { "type": "string" + }, + "JobType": { + "type": "string" + }, + "MLFramework": { + "type": "string" + }, + "Processor": { + "type": "string" + }, + "ProgrammingLang": { + "type": "string" + }, + "ReleaseNotes": { + "type": "string" + }, + "VendorGuidance": { + "type": "string" } }, "required": [ @@ -186255,6 +186606,9 @@ "RetentionProperties": { "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties" }, + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema" + }, "TableName": { "type": "string" }, @@ -186315,6 +186669,24 @@ ], "type": "object" }, + "AWS::Timestream::Table.PartitionKey": { + "additionalProperties": false, + "properties": { + "EnforcementInRecord": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { @@ -186349,6 +186721,18 @@ ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -186576,6 +186960,9 @@ "LoggingRole": { "type": "string" }, + "SftpConfig": { + "$ref": "#/definitions/AWS::Transfer::Connector.SftpConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -186588,7 +186975,6 @@ }, "required": [ "AccessRole", - "As2Config", "Url" ], "type": "object" @@ -186617,6 +187003,9 @@ "AWS::Transfer::Connector.As2Config": { "additionalProperties": false, "properties": { + "BasicAuthSecretId": { + "type": "string" + }, "Compression": { "type": "string" }, @@ -186644,6 +187033,21 @@ }, "type": "object" }, + "AWS::Transfer::Connector.SftpConfig": { + "additionalProperties": false, + "properties": { + "TrustedHostKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -191707,6 +192111,12 @@ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" }, @@ -191723,6 +192133,138 @@ ], "type": "object" }, + "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192117,9 +192659,38 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet": { + "additionalProperties": false, + "properties": { + "CreationPath": { + "type": "string" + }, + "EnableRegexInPath": { + "type": "boolean" + }, + "RegistrationPagePath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspectionACFP" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "CreationPath", + "RegistrationPagePath", + "RequestInspection" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { "additionalProperties": false, "properties": { + "EnableRegexInPath": { + "type": "boolean" + }, "LoginPath": { "type": "string" }, @@ -192646,6 +193217,9 @@ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesACFPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" + }, "AWSManagedRulesATPRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" }, @@ -192752,6 +193326,12 @@ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" }, @@ -192768,6 +193348,138 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192846,6 +193558,39 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspectionACFP": { + "additionalProperties": false, + "properties": { + "AddressFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "EmailField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "PhoneNumberFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PayloadType" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.ResponseInspection": { "additionalProperties": false, "properties": { @@ -195211,6 +195956,9 @@ { "$ref": "#/definitions/AWS::DMS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig" + }, { "$ref": "#/definitions/AWS::DMS::ReplicationInstance" }, @@ -197290,6 +198038,9 @@ { "$ref": "#/definitions/AWS::SQS::Queue" }, + { + "$ref": "#/definitions/AWS::SQS::QueueInlinePolicy" + }, { "$ref": "#/definitions/AWS::SQS::QueuePolicy" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 30c499a933..e5f1ae2240 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -21293,6 +21293,9 @@ var CloudformationSchema = `{ "AWS::BillingConductor::BillingGroup.AccountGrouping": { "additionalProperties": false, "properties": { + "AutoAssociate": { + "type": "boolean" + }, "LinkedAccountIds": { "items": { "type": "string" @@ -34333,12 +34336,21 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance" + }, "ConfigRuleName": { "type": "string" }, "Description": { "type": "string" }, + "EvaluationModes": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" + }, + "type": "array" + }, "InputParameters": { "type": "object" }, @@ -34378,6 +34390,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Config::ConfigRule.Compliance": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.CustomPolicyDetails": { "additionalProperties": false, "properties": { @@ -34393,6 +34414,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -40731,6 +40761,139 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DMS::ReplicationConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "type": "object" + }, + "ReplicationType": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "type": "object" + }, + "TableMappings": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationConfig.ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "number" + }, + "MinCapacityUnits": { + "type": "number" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { @@ -48373,6 +48536,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssetId": { + "type": "string" + }, "AutoPlacement": { "type": "string" }, @@ -73212,9 +73378,18 @@ var CloudformationSchema = `{ "AllowSingleColumn": { "type": "boolean" }, + "ContainsCustomDatatype": { + "items": { + "type": "string" + }, + "type": "array" + }, "ContainsHeader": { "type": "string" }, + "CustomDatatypeConfigured": { + "type": "boolean" + }, "Delimiter": { "type": "string" }, @@ -73568,6 +73743,30 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.IcebergTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumTraversalDepth": { + "type": "number" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { @@ -73676,6 +73875,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "IcebergTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.IcebergTarget" + }, + "type": "array" + }, "JdbcTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" @@ -73976,6 +74181,9 @@ var CloudformationSchema = `{ }, "DatabaseName": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -75285,6 +75493,9 @@ var CloudformationSchema = `{ "DatabaseName": { "type": "string" }, + "OpenTableFormatInput": { + "$ref": "#/definitions/AWS::Glue::Table.OpenTableFormatInput" + }, "TableInput": { "$ref": "#/definitions/AWS::Glue::Table.TableInput" } @@ -75335,6 +75546,32 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Glue::Table.IcebergInput": { + "additionalProperties": false, + "properties": { + "MetadataOperation": { + "$ref": "#/definitions/AWS::Glue::Table.MetadataOperation" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.MetadataOperation": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table.OpenTableFormatInput": { + "additionalProperties": false, + "properties": { + "IcebergInput": { + "$ref": "#/definitions/AWS::Glue::Table.IcebergInput" + } + }, + "type": "object" + }, "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { @@ -75482,6 +75719,9 @@ var CloudformationSchema = `{ }, "Name": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -94740,6 +94980,9 @@ var CloudformationSchema = `{ "MultiRegion": { "type": "boolean" }, + "Origin": { + "type": "string" + }, "PendingWindowInDays": { "type": "number" }, @@ -117406,6 +117649,9 @@ var CloudformationSchema = `{ "DBInstanceParameterGroupName": { "type": "string" }, + "DBPort": { + "type": "number" + }, "DBSubnetGroupName": { "type": "string" }, @@ -121446,6 +121692,9 @@ var CloudformationSchema = `{ "MaxDuration": { "type": "number" }, + "MaxGpus": { + "type": "number" + }, "MaxRuns": { "type": "number" }, @@ -121728,6 +121977,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Accelerators": { + "type": "string" + }, "DefinitionUri": { "type": "string" }, @@ -170937,6 +171189,75 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SQS::QueueInlinePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "PolicyDocument": { + "type": "object" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "Queue" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueueInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { @@ -175712,11 +176033,41 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, "BaseImage": { "type": "string" }, + "Horovod": { + "type": "boolean" + }, "ImageName": { "type": "string" + }, + "JobType": { + "type": "string" + }, + "MLFramework": { + "type": "string" + }, + "Processor": { + "type": "string" + }, + "ProgrammingLang": { + "type": "string" + }, + "ReleaseNotes": { + "type": "string" + }, + "VendorGuidance": { + "type": "string" } }, "required": [ @@ -186199,6 +186550,9 @@ var CloudformationSchema = `{ "RetentionProperties": { "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties" }, + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema" + }, "TableName": { "type": "string" }, @@ -186259,6 +186613,24 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Timestream::Table.PartitionKey": { + "additionalProperties": false, + "properties": { + "EnforcementInRecord": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { @@ -186293,6 +186665,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -186520,6 +186904,9 @@ var CloudformationSchema = `{ "LoggingRole": { "type": "string" }, + "SftpConfig": { + "$ref": "#/definitions/AWS::Transfer::Connector.SftpConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -186532,7 +186919,6 @@ var CloudformationSchema = `{ }, "required": [ "AccessRole", - "As2Config", "Url" ], "type": "object" @@ -186561,6 +186947,9 @@ var CloudformationSchema = `{ "AWS::Transfer::Connector.As2Config": { "additionalProperties": false, "properties": { + "BasicAuthSecretId": { + "type": "string" + }, "Compression": { "type": "string" }, @@ -186588,6 +186977,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Transfer::Connector.SftpConfig": { + "additionalProperties": false, + "properties": { + "TrustedHostKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -191651,6 +192055,12 @@ var CloudformationSchema = `{ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" }, @@ -191667,6 +192077,138 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192061,9 +192603,38 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet": { + "additionalProperties": false, + "properties": { + "CreationPath": { + "type": "string" + }, + "EnableRegexInPath": { + "type": "boolean" + }, + "RegistrationPagePath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspectionACFP" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "CreationPath", + "RegistrationPagePath", + "RequestInspection" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { "additionalProperties": false, "properties": { + "EnableRegexInPath": { + "type": "boolean" + }, "LoginPath": { "type": "string" }, @@ -192590,6 +193161,9 @@ var CloudformationSchema = `{ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesACFPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" + }, "AWSManagedRulesATPRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" }, @@ -192696,6 +193270,12 @@ var CloudformationSchema = `{ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" }, @@ -192712,6 +193292,138 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192790,6 +193502,39 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspectionACFP": { + "additionalProperties": false, + "properties": { + "AddressFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "EmailField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "PhoneNumberFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PayloadType" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.ResponseInspection": { "additionalProperties": false, "properties": { @@ -195152,6 +195897,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::DMS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig" + }, { "$ref": "#/definitions/AWS::DMS::ReplicationInstance" }, @@ -197231,6 +197979,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SQS::Queue" }, + { + "$ref": "#/definitions/AWS::SQS::QueueInlinePolicy" + }, { "$ref": "#/definitions/AWS::SQS::QueuePolicy" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 540096ed74..77cb6f9fd7 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -21288,6 +21288,9 @@ "AWS::BillingConductor::BillingGroup.AccountGrouping": { "additionalProperties": false, "properties": { + "AutoAssociate": { + "type": "boolean" + }, "LinkedAccountIds": { "items": { "type": "string" @@ -34328,12 +34331,21 @@ "Properties": { "additionalProperties": false, "properties": { + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance" + }, "ConfigRuleName": { "type": "string" }, "Description": { "type": "string" }, + "EvaluationModes": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" + }, + "type": "array" + }, "InputParameters": { "type": "object" }, @@ -34373,6 +34385,15 @@ ], "type": "object" }, + "AWS::Config::ConfigRule.Compliance": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.CustomPolicyDetails": { "additionalProperties": false, "properties": { @@ -34388,6 +34409,15 @@ }, "type": "object" }, + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -40726,6 +40756,139 @@ ], "type": "object" }, + "AWS::DMS::ReplicationConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "type": "object" + }, + "ReplicationType": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "type": "object" + }, + "TableMappings": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationConfig.ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "number" + }, + "MinCapacityUnits": { + "type": "number" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { @@ -48368,6 +48531,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AssetId": { + "type": "string" + }, "AutoPlacement": { "type": "string" }, @@ -73207,9 +73373,18 @@ "AllowSingleColumn": { "type": "boolean" }, + "ContainsCustomDatatype": { + "items": { + "type": "string" + }, + "type": "array" + }, "ContainsHeader": { "type": "string" }, + "CustomDatatypeConfigured": { + "type": "boolean" + }, "Delimiter": { "type": "string" }, @@ -73563,6 +73738,30 @@ }, "type": "object" }, + "AWS::Glue::Crawler.IcebergTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumTraversalDepth": { + "type": "number" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { @@ -73671,6 +73870,12 @@ }, "type": "array" }, + "IcebergTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.IcebergTarget" + }, + "type": "array" + }, "JdbcTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" @@ -73971,6 +74176,9 @@ }, "DatabaseName": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -75280,6 +75488,9 @@ "DatabaseName": { "type": "string" }, + "OpenTableFormatInput": { + "$ref": "#/definitions/AWS::Glue::Table.OpenTableFormatInput" + }, "TableInput": { "$ref": "#/definitions/AWS::Glue::Table.TableInput" } @@ -75330,6 +75541,32 @@ ], "type": "object" }, + "AWS::Glue::Table.IcebergInput": { + "additionalProperties": false, + "properties": { + "MetadataOperation": { + "$ref": "#/definitions/AWS::Glue::Table.MetadataOperation" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.MetadataOperation": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table.OpenTableFormatInput": { + "additionalProperties": false, + "properties": { + "IcebergInput": { + "$ref": "#/definitions/AWS::Glue::Table.IcebergInput" + } + }, + "type": "object" + }, "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { @@ -75477,6 +75714,9 @@ }, "Name": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -94735,6 +94975,9 @@ "MultiRegion": { "type": "boolean" }, + "Origin": { + "type": "string" + }, "PendingWindowInDays": { "type": "number" }, @@ -117401,6 +117644,9 @@ "DBInstanceParameterGroupName": { "type": "string" }, + "DBPort": { + "type": "number" + }, "DBSubnetGroupName": { "type": "string" }, @@ -121441,6 +121687,9 @@ "MaxDuration": { "type": "number" }, + "MaxGpus": { + "type": "number" + }, "MaxRuns": { "type": "number" }, @@ -121723,6 +121972,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Accelerators": { + "type": "string" + }, "DefinitionUri": { "type": "string" }, @@ -170932,6 +171184,75 @@ ], "type": "object" }, + "AWS::SQS::QueueInlinePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "PolicyDocument": { + "type": "object" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "Queue" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueueInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { @@ -175707,11 +176028,41 @@ "Properties": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, "BaseImage": { "type": "string" }, + "Horovod": { + "type": "boolean" + }, "ImageName": { "type": "string" + }, + "JobType": { + "type": "string" + }, + "MLFramework": { + "type": "string" + }, + "Processor": { + "type": "string" + }, + "ProgrammingLang": { + "type": "string" + }, + "ReleaseNotes": { + "type": "string" + }, + "VendorGuidance": { + "type": "string" } }, "required": [ @@ -186194,6 +186545,9 @@ "RetentionProperties": { "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties" }, + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema" + }, "TableName": { "type": "string" }, @@ -186254,6 +186608,24 @@ ], "type": "object" }, + "AWS::Timestream::Table.PartitionKey": { + "additionalProperties": false, + "properties": { + "EnforcementInRecord": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { @@ -186288,6 +186660,18 @@ ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -186515,6 +186899,9 @@ "LoggingRole": { "type": "string" }, + "SftpConfig": { + "$ref": "#/definitions/AWS::Transfer::Connector.SftpConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -186527,7 +186914,6 @@ }, "required": [ "AccessRole", - "As2Config", "Url" ], "type": "object" @@ -186556,6 +186942,9 @@ "AWS::Transfer::Connector.As2Config": { "additionalProperties": false, "properties": { + "BasicAuthSecretId": { + "type": "string" + }, "Compression": { "type": "string" }, @@ -186583,6 +186972,21 @@ }, "type": "object" }, + "AWS::Transfer::Connector.SftpConfig": { + "additionalProperties": false, + "properties": { + "TrustedHostKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -191646,6 +192050,12 @@ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" }, @@ -191662,6 +192072,138 @@ ], "type": "object" }, + "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192056,9 +192598,38 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet": { + "additionalProperties": false, + "properties": { + "CreationPath": { + "type": "string" + }, + "EnableRegexInPath": { + "type": "boolean" + }, + "RegistrationPagePath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspectionACFP" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "CreationPath", + "RegistrationPagePath", + "RequestInspection" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { "additionalProperties": false, "properties": { + "EnableRegexInPath": { + "type": "boolean" + }, "LoginPath": { "type": "string" }, @@ -192585,6 +193156,9 @@ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesACFPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" + }, "AWSManagedRulesATPRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" }, @@ -192691,6 +193265,12 @@ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" }, @@ -192707,6 +193287,138 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -192785,6 +193497,39 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspectionACFP": { + "additionalProperties": false, + "properties": { + "AddressFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "EmailField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "PhoneNumberFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PayloadType" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.ResponseInspection": { "additionalProperties": false, "properties": { @@ -195147,6 +195892,9 @@ { "$ref": "#/definitions/AWS::DMS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig" + }, { "$ref": "#/definitions/AWS::DMS::ReplicationInstance" }, @@ -197226,6 +197974,9 @@ { "$ref": "#/definitions/AWS::SQS::Queue" }, + { + "$ref": "#/definitions/AWS::SQS::QueueInlinePolicy" + }, { "$ref": "#/definitions/AWS::SQS::QueuePolicy" }, diff --git a/schema/sam.go b/schema/sam.go index f0216490b9..7364814097 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -21293,6 +21293,9 @@ var SamSchema = `{ "AWS::BillingConductor::BillingGroup.AccountGrouping": { "additionalProperties": false, "properties": { + "AutoAssociate": { + "type": "boolean" + }, "LinkedAccountIds": { "items": { "type": "string" @@ -34333,12 +34336,21 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance" + }, "ConfigRuleName": { "type": "string" }, "Description": { "type": "string" }, + "EvaluationModes": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" + }, + "type": "array" + }, "InputParameters": { "type": "object" }, @@ -34378,6 +34390,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Config::ConfigRule.Compliance": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.CustomPolicyDetails": { "additionalProperties": false, "properties": { @@ -34393,6 +34414,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -40731,6 +40761,139 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DMS::ReplicationConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "type": "object" + }, + "ReplicationType": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "type": "object" + }, + "TableMappings": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationConfig.ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "number" + }, + "MinCapacityUnits": { + "type": "number" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { @@ -48373,6 +48536,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AssetId": { + "type": "string" + }, "AutoPlacement": { "type": "string" }, @@ -73212,9 +73378,18 @@ var SamSchema = `{ "AllowSingleColumn": { "type": "boolean" }, + "ContainsCustomDatatype": { + "items": { + "type": "string" + }, + "type": "array" + }, "ContainsHeader": { "type": "string" }, + "CustomDatatypeConfigured": { + "type": "boolean" + }, "Delimiter": { "type": "string" }, @@ -73568,6 +73743,30 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.IcebergTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumTraversalDepth": { + "type": "number" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { @@ -73676,6 +73875,12 @@ var SamSchema = `{ }, "type": "array" }, + "IcebergTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.IcebergTarget" + }, + "type": "array" + }, "JdbcTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" @@ -73976,6 +74181,9 @@ var SamSchema = `{ }, "DatabaseName": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -75285,6 +75493,9 @@ var SamSchema = `{ "DatabaseName": { "type": "string" }, + "OpenTableFormatInput": { + "$ref": "#/definitions/AWS::Glue::Table.OpenTableFormatInput" + }, "TableInput": { "$ref": "#/definitions/AWS::Glue::Table.TableInput" } @@ -75335,6 +75546,32 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Glue::Table.IcebergInput": { + "additionalProperties": false, + "properties": { + "MetadataOperation": { + "$ref": "#/definitions/AWS::Glue::Table.MetadataOperation" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.MetadataOperation": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table.OpenTableFormatInput": { + "additionalProperties": false, + "properties": { + "IcebergInput": { + "$ref": "#/definitions/AWS::Glue::Table.IcebergInput" + } + }, + "type": "object" + }, "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { @@ -75482,6 +75719,9 @@ var SamSchema = `{ }, "Name": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -94740,6 +94980,9 @@ var SamSchema = `{ "MultiRegion": { "type": "boolean" }, + "Origin": { + "type": "string" + }, "PendingWindowInDays": { "type": "number" }, @@ -117406,6 +117649,9 @@ var SamSchema = `{ "DBInstanceParameterGroupName": { "type": "string" }, + "DBPort": { + "type": "number" + }, "DBSubnetGroupName": { "type": "string" }, @@ -121446,6 +121692,9 @@ var SamSchema = `{ "MaxDuration": { "type": "number" }, + "MaxGpus": { + "type": "number" + }, "MaxRuns": { "type": "number" }, @@ -121728,6 +121977,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Accelerators": { + "type": "string" + }, "DefinitionUri": { "type": "string" }, @@ -170937,6 +171189,75 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SQS::QueueInlinePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "PolicyDocument": { + "type": "object" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "Queue" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueueInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { @@ -175712,11 +176033,41 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, "BaseImage": { "type": "string" }, + "Horovod": { + "type": "boolean" + }, "ImageName": { "type": "string" + }, + "JobType": { + "type": "string" + }, + "MLFramework": { + "type": "string" + }, + "Processor": { + "type": "string" + }, + "ProgrammingLang": { + "type": "string" + }, + "ReleaseNotes": { + "type": "string" + }, + "VendorGuidance": { + "type": "string" } }, "required": [ @@ -188914,6 +189265,9 @@ var SamSchema = `{ "RetentionProperties": { "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties" }, + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema" + }, "TableName": { "type": "string" }, @@ -188974,6 +189328,24 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Timestream::Table.PartitionKey": { + "additionalProperties": false, + "properties": { + "EnforcementInRecord": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { @@ -189008,6 +189380,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -189235,6 +189619,9 @@ var SamSchema = `{ "LoggingRole": { "type": "string" }, + "SftpConfig": { + "$ref": "#/definitions/AWS::Transfer::Connector.SftpConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -189247,7 +189634,6 @@ var SamSchema = `{ }, "required": [ "AccessRole", - "As2Config", "Url" ], "type": "object" @@ -189276,6 +189662,9 @@ var SamSchema = `{ "AWS::Transfer::Connector.As2Config": { "additionalProperties": false, "properties": { + "BasicAuthSecretId": { + "type": "string" + }, "Compression": { "type": "string" }, @@ -189303,6 +189692,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Transfer::Connector.SftpConfig": { + "additionalProperties": false, + "properties": { + "TrustedHostKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -194366,6 +194770,12 @@ var SamSchema = `{ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" }, @@ -194382,6 +194792,138 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -194776,9 +195318,38 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet": { + "additionalProperties": false, + "properties": { + "CreationPath": { + "type": "string" + }, + "EnableRegexInPath": { + "type": "boolean" + }, + "RegistrationPagePath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspectionACFP" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "CreationPath", + "RegistrationPagePath", + "RequestInspection" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { "additionalProperties": false, "properties": { + "EnableRegexInPath": { + "type": "boolean" + }, "LoginPath": { "type": "string" }, @@ -195305,6 +195876,9 @@ var SamSchema = `{ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesACFPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" + }, "AWSManagedRulesATPRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" }, @@ -195411,6 +195985,12 @@ var SamSchema = `{ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" }, @@ -195427,6 +196007,138 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -195505,6 +196217,39 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspectionACFP": { + "additionalProperties": false, + "properties": { + "AddressFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "EmailField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "PhoneNumberFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PayloadType" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.ResponseInspection": { "additionalProperties": false, "properties": { @@ -198159,6 +198904,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::DMS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig" + }, { "$ref": "#/definitions/AWS::DMS::ReplicationInstance" }, @@ -200238,6 +200986,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SQS::Queue" }, + { + "$ref": "#/definitions/AWS::SQS::QueueInlinePolicy" + }, { "$ref": "#/definitions/AWS::SQS::QueuePolicy" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index bcaca9046a..f7ac2206b3 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -21288,6 +21288,9 @@ "AWS::BillingConductor::BillingGroup.AccountGrouping": { "additionalProperties": false, "properties": { + "AutoAssociate": { + "type": "boolean" + }, "LinkedAccountIds": { "items": { "type": "string" @@ -34328,12 +34331,21 @@ "Properties": { "additionalProperties": false, "properties": { + "Compliance": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Compliance" + }, "ConfigRuleName": { "type": "string" }, "Description": { "type": "string" }, + "EvaluationModes": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.EvaluationModeConfiguration" + }, + "type": "array" + }, "InputParameters": { "type": "object" }, @@ -34373,6 +34385,15 @@ ], "type": "object" }, + "AWS::Config::ConfigRule.Compliance": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.CustomPolicyDetails": { "additionalProperties": false, "properties": { @@ -34388,6 +34409,15 @@ }, "type": "object" }, + "AWS::Config::ConfigRule.EvaluationModeConfiguration": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::ConfigRule.Scope": { "additionalProperties": false, "properties": { @@ -40726,6 +40756,139 @@ ], "type": "object" }, + "AWS::DMS::ReplicationConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "ComputeConfig": { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig.ComputeConfig" + }, + "ReplicationConfigArn": { + "type": "string" + }, + "ReplicationConfigIdentifier": { + "type": "string" + }, + "ReplicationSettings": { + "type": "object" + }, + "ReplicationType": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "SupplementalSettings": { + "type": "object" + }, + "TableMappings": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::ReplicationConfig.ComputeConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "DnsNameServers": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MaxCapacityUnits": { + "type": "number" + }, + "MinCapacityUnits": { + "type": "number" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSubnetGroupId": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacityUnits" + ], + "type": "object" + }, "AWS::DMS::ReplicationInstance": { "additionalProperties": false, "properties": { @@ -48368,6 +48531,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AssetId": { + "type": "string" + }, "AutoPlacement": { "type": "string" }, @@ -73207,9 +73373,18 @@ "AllowSingleColumn": { "type": "boolean" }, + "ContainsCustomDatatype": { + "items": { + "type": "string" + }, + "type": "array" + }, "ContainsHeader": { "type": "string" }, + "CustomDatatypeConfigured": { + "type": "boolean" + }, "Delimiter": { "type": "string" }, @@ -73563,6 +73738,30 @@ }, "type": "object" }, + "AWS::Glue::Crawler.IcebergTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumTraversalDepth": { + "type": "number" + }, + "Paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { @@ -73671,6 +73870,12 @@ }, "type": "array" }, + "IcebergTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.IcebergTarget" + }, + "type": "array" + }, "JdbcTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" @@ -73971,6 +74176,9 @@ }, "DatabaseName": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -75280,6 +75488,9 @@ "DatabaseName": { "type": "string" }, + "OpenTableFormatInput": { + "$ref": "#/definitions/AWS::Glue::Table.OpenTableFormatInput" + }, "TableInput": { "$ref": "#/definitions/AWS::Glue::Table.TableInput" } @@ -75330,6 +75541,32 @@ ], "type": "object" }, + "AWS::Glue::Table.IcebergInput": { + "additionalProperties": false, + "properties": { + "MetadataOperation": { + "$ref": "#/definitions/AWS::Glue::Table.MetadataOperation" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.MetadataOperation": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table.OpenTableFormatInput": { + "additionalProperties": false, + "properties": { + "IcebergInput": { + "$ref": "#/definitions/AWS::Glue::Table.IcebergInput" + } + }, + "type": "object" + }, "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { @@ -75477,6 +75714,9 @@ }, "Name": { "type": "string" + }, + "Region": { + "type": "string" } }, "type": "object" @@ -94735,6 +94975,9 @@ "MultiRegion": { "type": "boolean" }, + "Origin": { + "type": "string" + }, "PendingWindowInDays": { "type": "number" }, @@ -117401,6 +117644,9 @@ "DBInstanceParameterGroupName": { "type": "string" }, + "DBPort": { + "type": "number" + }, "DBSubnetGroupName": { "type": "string" }, @@ -121441,6 +121687,9 @@ "MaxDuration": { "type": "number" }, + "MaxGpus": { + "type": "number" + }, "MaxRuns": { "type": "number" }, @@ -121723,6 +121972,9 @@ "Properties": { "additionalProperties": false, "properties": { + "Accelerators": { + "type": "string" + }, "DefinitionUri": { "type": "string" }, @@ -170932,6 +171184,75 @@ ], "type": "object" }, + "AWS::SQS::QueueInlinePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "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": { + "PolicyDocument": { + "type": "object" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "Queue" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueueInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { @@ -175707,11 +176028,41 @@ "Properties": { "additionalProperties": false, "properties": { + "Alias": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, "BaseImage": { "type": "string" }, + "Horovod": { + "type": "boolean" + }, "ImageName": { "type": "string" + }, + "JobType": { + "type": "string" + }, + "MLFramework": { + "type": "string" + }, + "Processor": { + "type": "string" + }, + "ProgrammingLang": { + "type": "string" + }, + "ReleaseNotes": { + "type": "string" + }, + "VendorGuidance": { + "type": "string" } }, "required": [ @@ -188909,6 +189260,9 @@ "RetentionProperties": { "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties" }, + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema" + }, "TableName": { "type": "string" }, @@ -188969,6 +189323,24 @@ ], "type": "object" }, + "AWS::Timestream::Table.PartitionKey": { + "additionalProperties": false, + "properties": { + "EnforcementInRecord": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { @@ -189003,6 +189375,18 @@ ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -189230,6 +189614,9 @@ "LoggingRole": { "type": "string" }, + "SftpConfig": { + "$ref": "#/definitions/AWS::Transfer::Connector.SftpConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -189242,7 +189629,6 @@ }, "required": [ "AccessRole", - "As2Config", "Url" ], "type": "object" @@ -189271,6 +189657,9 @@ "AWS::Transfer::Connector.As2Config": { "additionalProperties": false, "properties": { + "BasicAuthSecretId": { + "type": "string" + }, "Compression": { "type": "string" }, @@ -189298,6 +189687,21 @@ }, "type": "object" }, + "AWS::Transfer::Connector.SftpConfig": { + "additionalProperties": false, + "properties": { + "TrustedHostKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserSecretId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -194361,6 +194765,12 @@ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" }, @@ -194377,6 +194787,138 @@ ], "type": "object" }, + "AWS::WAFv2::RuleGroup.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::RuleGroup.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -194771,9 +195313,38 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet": { + "additionalProperties": false, + "properties": { + "CreationPath": { + "type": "string" + }, + "EnableRegexInPath": { + "type": "boolean" + }, + "RegistrationPagePath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspectionACFP" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "CreationPath", + "RegistrationPagePath", + "RequestInspection" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { "additionalProperties": false, "properties": { + "EnableRegexInPath": { + "type": "boolean" + }, "LoginPath": { "type": "string" }, @@ -195300,6 +195871,9 @@ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesACFPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesACFPRuleSet" + }, "AWSManagedRulesATPRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" }, @@ -195406,6 +195980,12 @@ "AggregateKeyType": { "type": "string" }, + "CustomKeys": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatementCustomKey" + }, + "type": "array" + }, "ForwardedIPConfig": { "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" }, @@ -195422,6 +196002,138 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RateBasedStatementCustomKey": { + "additionalProperties": false, + "properties": { + "Cookie": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitCookie" + }, + "ForwardedIP": { + "type": "object" + }, + "HTTPMethod": { + "type": "object" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitHeader" + }, + "IP": { + "type": "object" + }, + "LabelNamespace": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitLabelNamespace" + }, + "QueryArgument": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryArgument" + }, + "QueryString": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitQueryString" + }, + "UriPath": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateLimitUriPath" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitCookie": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitLabelNamespace": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryArgument": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitQueryString": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RateLimitUriPath": { + "additionalProperties": false, + "properties": { + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "TextTransformations" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.RegexMatchStatement": { "additionalProperties": false, "properties": { @@ -195500,6 +196212,39 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspectionACFP": { + "additionalProperties": false, + "properties": { + "AddressFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "EmailField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "PhoneNumberFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "type": "array" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PayloadType" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.ResponseInspection": { "additionalProperties": false, "properties": { @@ -198154,6 +198899,9 @@ { "$ref": "#/definitions/AWS::DMS::EventSubscription" }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationConfig" + }, { "$ref": "#/definitions/AWS::DMS::ReplicationInstance" }, @@ -200233,6 +200981,9 @@ { "$ref": "#/definitions/AWS::SQS::Queue" }, + { + "$ref": "#/definitions/AWS::SQS::QueueInlinePolicy" + }, { "$ref": "#/definitions/AWS::SQS::QueuePolicy" },