diff --git a/cloudformation/all.go b/cloudformation/all.go index 087af1476d..da9dcbd7c9 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -957,6 +957,7 @@ func AllResources() map[string]Resource { "AWS::WAFRegional::WebACLAssociation": &wafregional.WebACLAssociation{}, "AWS::WAFRegional::XssMatchSet": &wafregional.XssMatchSet{}, "AWS::WAFv2::IPSet": &wafv2.IPSet{}, + "AWS::WAFv2::LoggingConfiguration": &wafv2.LoggingConfiguration{}, "AWS::WAFv2::RegexPatternSet": &wafv2.RegexPatternSet{}, "AWS::WAFv2::RuleGroup": &wafv2.RuleGroup{}, "AWS::WAFv2::WebACL": &wafv2.WebACL{}, @@ -19717,6 +19718,30 @@ func (t *Template) GetWAFv2IPSetWithName(name string) (*wafv2.IPSet, error) { return nil, fmt.Errorf("resource %q of type wafv2.IPSet not found", name) } +// GetAllWAFv2LoggingConfigurationResources retrieves all wafv2.LoggingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllWAFv2LoggingConfigurationResources() map[string]*wafv2.LoggingConfiguration { + results := map[string]*wafv2.LoggingConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *wafv2.LoggingConfiguration: + results[name] = resource + } + } + return results +} + +// GetWAFv2LoggingConfigurationWithName retrieves all wafv2.LoggingConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetWAFv2LoggingConfigurationWithName(name string) (*wafv2.LoggingConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *wafv2.LoggingConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type wafv2.LoggingConfiguration not found", name) +} + // GetAllWAFv2RegexPatternSetResources retrieves all wafv2.RegexPatternSet items from an AWS CloudFormation template func (t *Template) GetAllWAFv2RegexPatternSetResources() map[string]*wafv2.RegexPatternSet { results := map[string]*wafv2.RegexPatternSet{} diff --git a/cloudformation/apigateway/aws-apigateway-domainname.go b/cloudformation/apigateway/aws-apigateway-domainname.go index f5f587a8d4..71cda36408 100644 --- a/cloudformation/apigateway/aws-apigateway-domainname.go +++ b/cloudformation/apigateway/aws-apigateway-domainname.go @@ -33,6 +33,11 @@ type DomainName struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication MutualTlsAuthentication *DomainName_MutualTlsAuthentication `json:"MutualTlsAuthentication,omitempty"` + // OwnershipVerificationCertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn + OwnershipVerificationCertificateArn string `json:"OwnershipVerificationCertificateArn,omitempty"` + // RegionalCertificateArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn diff --git a/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go b/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go index fccfefdf8d..e32fc59968 100644 --- a/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go +++ b/cloudformation/apigatewayv2/aws-apigatewayv2-domainname_domainnameconfiguration.go @@ -23,6 +23,11 @@ type DomainName_DomainNameConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-endpointtype EndpointType string `json:"EndpointType,omitempty"` + // OwnershipVerificationCertificateArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn + OwnershipVerificationCertificateArn string `json:"OwnershipVerificationCertificateArn,omitempty"` + // SecurityPolicy AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy diff --git a/cloudformation/codebuild/aws-codebuild-project.go b/cloudformation/codebuild/aws-codebuild-project.go index 45238a5a43..289429bb21 100644 --- a/cloudformation/codebuild/aws-codebuild-project.go +++ b/cloudformation/codebuild/aws-codebuild-project.go @@ -73,6 +73,11 @@ type Project struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-queuedtimeoutinminutes QueuedTimeoutInMinutes int `json:"QueuedTimeoutInMinutes,omitempty"` + // ResourceAccessRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-resourceaccessrole + ResourceAccessRole string `json:"ResourceAccessRole,omitempty"` + // SecondaryArtifacts AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondaryartifacts @@ -118,6 +123,11 @@ type Project struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-triggers Triggers *Project_ProjectTriggers `json:"Triggers,omitempty"` + // Visibility AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-visibility + Visibility string `json:"Visibility,omitempty"` + // VpcConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-vpcconfig diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_coldstorageoptions.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_coldstorageoptions.go new file mode 100644 index 0000000000..01ce36cc9e --- /dev/null +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_coldstorageoptions.go @@ -0,0 +1,35 @@ +package elasticsearch + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Domain_ColdStorageOptions AWS CloudFormation Resource (AWS::Elasticsearch::Domain.ColdStorageOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-coldstorageoptions.html +type Domain_ColdStorageOptions struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-coldstorageoptions.html#cfn-elasticsearch-domain-coldstorageoptions-enabled + Enabled bool `json:"Enabled,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 *Domain_ColdStorageOptions) AWSCloudFormationType() string { + return "AWS::Elasticsearch::Domain.ColdStorageOptions" +} diff --git a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go index f9aed911b3..42a1385103 100644 --- a/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go +++ b/cloudformation/elasticsearch/aws-elasticsearch-domain_elasticsearchclusterconfig.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html type Domain_ElasticsearchClusterConfig struct { + // ColdStorageOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-coldstorageoptions + ColdStorageOptions *Domain_ColdStorageOptions `json:"ColdStorageOptions,omitempty"` + // DedicatedMasterCount AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmastercount diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3storage.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3storage.go new file mode 100644 index 0000000000..cde9aaac32 --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_customermanageds3storage.go @@ -0,0 +1,40 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Datastore_CustomerManagedS3Storage AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3storage.html +type Datastore_CustomerManagedS3Storage struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3storage.html#cfn-iotanalytics-datastore-customermanageds3storage-bucket + Bucket string `json:"Bucket,omitempty"` + + // KeyPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3storage.html#cfn-iotanalytics-datastore-customermanageds3storage-keyprefix + KeyPrefix string `json:"KeyPrefix,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 *Datastore_CustomerManagedS3Storage) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage" +} diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go index 4f3019e436..c35451febc 100644 --- a/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_datastorestorage.go @@ -13,6 +13,11 @@ type Datastore_DatastoreStorage struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-customermanageds3 CustomerManagedS3 *Datastore_CustomerManagedS3 `json:"CustomerManagedS3,omitempty"` + // IotSiteWiseMultiLayerStorage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-iotsitewisemultilayerstorage + IotSiteWiseMultiLayerStorage *Datastore_IotSiteWiseMultiLayerStorage `json:"IotSiteWiseMultiLayerStorage,omitempty"` + // ServiceManagedS3 AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-servicemanageds3 diff --git a/cloudformation/iotanalytics/aws-iotanalytics-datastore_iotsitewisemultilayerstorage.go b/cloudformation/iotanalytics/aws-iotanalytics-datastore_iotsitewisemultilayerstorage.go new file mode 100644 index 0000000000..b33d7305f9 --- /dev/null +++ b/cloudformation/iotanalytics/aws-iotanalytics-datastore_iotsitewisemultilayerstorage.go @@ -0,0 +1,35 @@ +package iotanalytics + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Datastore_IotSiteWiseMultiLayerStorage AWS CloudFormation Resource (AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage.html +type Datastore_IotSiteWiseMultiLayerStorage struct { + + // CustomerManagedS3Storage AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-iotsitewisemultilayerstorage.html#cfn-iotanalytics-datastore-iotsitewisemultilayerstorage-customermanageds3storage + CustomerManagedS3Storage *Datastore_CustomerManagedS3Storage `json:"CustomerManagedS3Storage,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 *Datastore_IotSiteWiseMultiLayerStorage) AWSCloudFormationType() string { + return "AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage" +} diff --git a/cloudformation/wafv2/aws-wafv2-loggingconfiguration.go b/cloudformation/wafv2/aws-wafv2-loggingconfiguration.go new file mode 100644 index 0000000000..38b1f53f64 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-loggingconfiguration.go @@ -0,0 +1,121 @@ +package wafv2 + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// LoggingConfiguration AWS CloudFormation Resource (AWS::WAFv2::LoggingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html +type LoggingConfiguration struct { + + // LogDestinationConfigs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html#cfn-wafv2-loggingconfiguration-logdestinationconfigs + LogDestinationConfigs []string `json:"LogDestinationConfigs,omitempty"` + + // LoggingFilter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html#cfn-wafv2-loggingconfiguration-loggingfilter + LoggingFilter interface{} `json:"LoggingFilter,omitempty"` + + // RedactedFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html#cfn-wafv2-loggingconfiguration-redactedfields + RedactedFields []LoggingConfiguration_FieldToMatch `json:"RedactedFields,omitempty"` + + // ResourceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html#cfn-wafv2-loggingconfiguration-resourcearn + ResourceArn string `json:"ResourceArn,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LoggingConfiguration) AWSCloudFormationType() string { + return "AWS::WAFv2::LoggingConfiguration" +} + +// 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 LoggingConfiguration) MarshalJSON() ([]byte, error) { + type Properties LoggingConfiguration + 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 *LoggingConfiguration) UnmarshalJSON(b []byte) error { + type Properties LoggingConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = LoggingConfiguration(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/wafv2/aws-wafv2-loggingconfiguration_fieldtomatch.go b/cloudformation/wafv2/aws-wafv2-loggingconfiguration_fieldtomatch.go new file mode 100644 index 0000000000..219a8eb8d6 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-loggingconfiguration_fieldtomatch.go @@ -0,0 +1,55 @@ +package wafv2 + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// LoggingConfiguration_FieldToMatch AWS CloudFormation Resource (AWS::WAFv2::LoggingConfiguration.FieldToMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-loggingconfiguration-fieldtomatch.html +type LoggingConfiguration_FieldToMatch struct { + + // JsonBody AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-loggingconfiguration-fieldtomatch.html#cfn-wafv2-loggingconfiguration-fieldtomatch-jsonbody + JsonBody interface{} `json:"JsonBody,omitempty"` + + // Method AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-loggingconfiguration-fieldtomatch.html#cfn-wafv2-loggingconfiguration-fieldtomatch-method + Method interface{} `json:"Method,omitempty"` + + // QueryString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-loggingconfiguration-fieldtomatch.html#cfn-wafv2-loggingconfiguration-fieldtomatch-querystring + QueryString interface{} `json:"QueryString,omitempty"` + + // SingleHeader AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-loggingconfiguration-fieldtomatch.html#cfn-wafv2-loggingconfiguration-fieldtomatch-singleheader + SingleHeader interface{} `json:"SingleHeader,omitempty"` + + // UriPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-loggingconfiguration-fieldtomatch.html#cfn-wafv2-loggingconfiguration-fieldtomatch-uripath + UriPath interface{} `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 *LoggingConfiguration_FieldToMatch) AWSCloudFormationType() string { + return "AWS::WAFv2::LoggingConfiguration.FieldToMatch" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 44e0629c10..f9128ff645 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -2590,6 +2590,9 @@ var CloudformationSchema = `{ "MutualTlsAuthentication": { "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "RegionalCertificateArn": { "type": "string" }, @@ -4472,6 +4475,9 @@ var CloudformationSchema = `{ "EndpointType": { "type": "string" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "SecurityPolicy": { "type": "string" } @@ -20777,6 +20783,9 @@ var CloudformationSchema = `{ "QueuedTimeoutInMinutes": { "type": "number" }, + "ResourceAccessRole": { + "type": "string" + }, "SecondaryArtifacts": { "items": { "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" @@ -20816,6 +20825,9 @@ var CloudformationSchema = `{ "Triggers": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" }, + "Visibility": { + "type": "string" + }, "VpcConfig": { "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" } @@ -47761,6 +47773,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Elasticsearch::Domain.ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { @@ -47803,6 +47824,9 @@ var CloudformationSchema = `{ "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ColdStorageOptions" + }, "DedicatedMasterCount": { "type": "number" }, @@ -63445,6 +63469,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.DatastorePartition": { "additionalProperties": false, "properties": { @@ -63475,6 +63514,9 @@ var CloudformationSchema = `{ "CustomerManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" }, + "IotSiteWiseMultiLayerStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage" + }, "ServiceManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" } @@ -63493,6 +63535,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3Storage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage" + } + }, + "required": [ + "CustomerManagedS3Storage" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.JsonConfiguration": { "additionalProperties": false, "properties": {}, @@ -108469,6 +108523,105 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoggingFilter": { + "type": "object" + }, + "RedactedFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration.FieldToMatch" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "LogDestinationConfigs", + "ResourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::LoggingConfiguration.FieldToMatch": { + "additionalProperties": false, + "properties": { + "JsonBody": { + "type": "object" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, "AWS::WAFv2::RegexPatternSet": { "additionalProperties": false, "properties": { @@ -113027,6 +113180,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::WAFv2::IPSet" }, + { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration" + }, { "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 136501c9e4..4d5e379583 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -2587,6 +2587,9 @@ "MutualTlsAuthentication": { "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "RegionalCertificateArn": { "type": "string" }, @@ -4469,6 +4472,9 @@ "EndpointType": { "type": "string" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "SecurityPolicy": { "type": "string" } @@ -20774,6 +20780,9 @@ "QueuedTimeoutInMinutes": { "type": "number" }, + "ResourceAccessRole": { + "type": "string" + }, "SecondaryArtifacts": { "items": { "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" @@ -20813,6 +20822,9 @@ "Triggers": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" }, + "Visibility": { + "type": "string" + }, "VpcConfig": { "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" } @@ -47758,6 +47770,15 @@ }, "type": "object" }, + "AWS::Elasticsearch::Domain.ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { @@ -47800,6 +47821,9 @@ "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ColdStorageOptions" + }, "DedicatedMasterCount": { "type": "number" }, @@ -63442,6 +63466,21 @@ ], "type": "object" }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.DatastorePartition": { "additionalProperties": false, "properties": { @@ -63472,6 +63511,9 @@ "CustomerManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" }, + "IotSiteWiseMultiLayerStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage" + }, "ServiceManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" } @@ -63490,6 +63532,18 @@ }, "type": "object" }, + "AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3Storage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage" + } + }, + "required": [ + "CustomerManagedS3Storage" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.JsonConfiguration": { "additionalProperties": false, "properties": {}, @@ -108466,6 +108520,105 @@ ], "type": "object" }, + "AWS::WAFv2::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoggingFilter": { + "type": "object" + }, + "RedactedFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration.FieldToMatch" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "LogDestinationConfigs", + "ResourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::LoggingConfiguration.FieldToMatch": { + "additionalProperties": false, + "properties": { + "JsonBody": { + "type": "object" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, "AWS::WAFv2::RegexPatternSet": { "additionalProperties": false, "properties": { @@ -113024,6 +113177,9 @@ { "$ref": "#/definitions/AWS::WAFv2::IPSet" }, + { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration" + }, { "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" }, diff --git a/schema/sam.go b/schema/sam.go index 85db5dda3c..f415c31172 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -2590,6 +2590,9 @@ var SamSchema = `{ "MutualTlsAuthentication": { "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "RegionalCertificateArn": { "type": "string" }, @@ -4472,6 +4475,9 @@ var SamSchema = `{ "EndpointType": { "type": "string" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "SecurityPolicy": { "type": "string" } @@ -20777,6 +20783,9 @@ var SamSchema = `{ "QueuedTimeoutInMinutes": { "type": "number" }, + "ResourceAccessRole": { + "type": "string" + }, "SecondaryArtifacts": { "items": { "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" @@ -20816,6 +20825,9 @@ var SamSchema = `{ "Triggers": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" }, + "Visibility": { + "type": "string" + }, "VpcConfig": { "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" } @@ -47761,6 +47773,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Elasticsearch::Domain.ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { @@ -47803,6 +47824,9 @@ var SamSchema = `{ "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ColdStorageOptions" + }, "DedicatedMasterCount": { "type": "number" }, @@ -63445,6 +63469,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.DatastorePartition": { "additionalProperties": false, "properties": { @@ -63475,6 +63514,9 @@ var SamSchema = `{ "CustomerManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" }, + "IotSiteWiseMultiLayerStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage" + }, "ServiceManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" } @@ -63493,6 +63535,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3Storage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage" + } + }, + "required": [ + "CustomerManagedS3Storage" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.JsonConfiguration": { "additionalProperties": false, "properties": {}, @@ -110843,6 +110897,105 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoggingFilter": { + "type": "object" + }, + "RedactedFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration.FieldToMatch" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "LogDestinationConfigs", + "ResourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::LoggingConfiguration.FieldToMatch": { + "additionalProperties": false, + "properties": { + "JsonBody": { + "type": "object" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, "AWS::WAFv2::RegexPatternSet": { "additionalProperties": false, "properties": { @@ -115702,6 +115855,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::WAFv2::IPSet" }, + { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration" + }, { "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index df1d127b48..df02d9256a 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -2587,6 +2587,9 @@ "MutualTlsAuthentication": { "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "RegionalCertificateArn": { "type": "string" }, @@ -4469,6 +4472,9 @@ "EndpointType": { "type": "string" }, + "OwnershipVerificationCertificateArn": { + "type": "string" + }, "SecurityPolicy": { "type": "string" } @@ -20774,6 +20780,9 @@ "QueuedTimeoutInMinutes": { "type": "number" }, + "ResourceAccessRole": { + "type": "string" + }, "SecondaryArtifacts": { "items": { "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" @@ -20813,6 +20822,9 @@ "Triggers": { "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" }, + "Visibility": { + "type": "string" + }, "VpcConfig": { "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" } @@ -47758,6 +47770,15 @@ }, "type": "object" }, + "AWS::Elasticsearch::Domain.ColdStorageOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Elasticsearch::Domain.DomainEndpointOptions": { "additionalProperties": false, "properties": { @@ -47800,6 +47821,9 @@ "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { + "ColdStorageOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ColdStorageOptions" + }, "DedicatedMasterCount": { "type": "number" }, @@ -63442,6 +63466,21 @@ ], "type": "object" }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.DatastorePartition": { "additionalProperties": false, "properties": { @@ -63472,6 +63511,9 @@ "CustomerManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" }, + "IotSiteWiseMultiLayerStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage" + }, "ServiceManagedS3": { "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" } @@ -63490,6 +63532,18 @@ }, "type": "object" }, + "AWS::IoTAnalytics::Datastore.IotSiteWiseMultiLayerStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3Storage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3Storage" + } + }, + "required": [ + "CustomerManagedS3Storage" + ], + "type": "object" + }, "AWS::IoTAnalytics::Datastore.JsonConfiguration": { "additionalProperties": false, "properties": {}, @@ -110840,6 +110894,105 @@ ], "type": "object" }, + "AWS::WAFv2::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoggingFilter": { + "type": "object" + }, + "RedactedFields": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration.FieldToMatch" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "LogDestinationConfigs", + "ResourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::LoggingConfiguration.FieldToMatch": { + "additionalProperties": false, + "properties": { + "JsonBody": { + "type": "object" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, "AWS::WAFv2::RegexPatternSet": { "additionalProperties": false, "properties": { @@ -115699,6 +115852,9 @@ { "$ref": "#/definitions/AWS::WAFv2::IPSet" }, + { + "$ref": "#/definitions/AWS::WAFv2::LoggingConfiguration" + }, { "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" },