From 16126408f0d44c5f548ad81c58096c4e5b2579f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 3 Mar 2023 08:13:51 +0100 Subject: [PATCH] fix(schema): CloudFormation Updates (#566) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: RĂºben Fonseca --- cloudformation/all.go | 76 +++ ...-codestarnotifications-notificationrule.go | 2 +- cloudformation/dynamodb/aws-dynamodb-table.go | 5 + .../elasticache/aws-elasticache-user.go | 6 + .../elasticache/aws-elasticache-usergroup.go | 10 +- .../aws-greengrassv2-deployment.go | 5 + .../aws-internetmonitor-monitor.go | 5 + .../aws-ivschat-loggingconfiguration.go | 128 +++++ ..._cloudwatchlogsdestinationconfiguration.go | 37 ++ ...gconfiguration_destinationconfiguration.go | 47 ++ ...ration_firehosedestinationconfiguration.go | 37 ++ ...onfiguration_s3destinationconfiguration.go | 37 ++ cloudformation/ivschat/aws-ivschat-room.go | 143 +++++ .../aws-ivschat-room_messagereviewhandler.go | 42 ++ .../lambda/aws-lambda-eventsourcemapping.go | 5 + ...urcemapping_documentdbeventsourceconfig.go | 47 ++ .../lex/aws-lex-bot_customvocabularyitem.go | 5 + .../aws-managedblockchain-accessor.go | 123 +++++ .../mediapackage/aws-mediapackage-asset.go | 5 + cloudformation/rds/aws-rds-dbproxyendpoint.go | 5 + ...-wafv2-webacl_awsmanagedrulesatpruleset.go | 47 ++ ...aws-wafv2-webacl_managedrulegroupconfig.go | 5 + .../aws-wafv2-webacl_requestinspection.go | 47 ++ .../aws-wafv2-webacl_responseinspection.go | 52 ++ ...2-webacl_responseinspectionbodycontains.go | 42 ++ ...s-wafv2-webacl_responseinspectionheader.go | 47 ++ ...aws-wafv2-webacl_responseinspectionjson.go | 47 ++ ...fv2-webacl_responseinspectionstatuscode.go | 42 ++ schema/cdk.go | 514 +++++++++++++++++- schema/cdk.schema.json | 514 +++++++++++++++++- schema/cloudformation.go | 514 +++++++++++++++++- schema/cloudformation.schema.json | 514 +++++++++++++++++- schema/sam.go | 514 +++++++++++++++++- schema/sam.schema.json | 514 +++++++++++++++++- 34 files changed, 4174 insertions(+), 9 deletions(-) create mode 100644 cloudformation/ivschat/aws-ivschat-loggingconfiguration.go create mode 100644 cloudformation/ivschat/aws-ivschat-loggingconfiguration_cloudwatchlogsdestinationconfiguration.go create mode 100644 cloudformation/ivschat/aws-ivschat-loggingconfiguration_destinationconfiguration.go create mode 100644 cloudformation/ivschat/aws-ivschat-loggingconfiguration_firehosedestinationconfiguration.go create mode 100644 cloudformation/ivschat/aws-ivschat-loggingconfiguration_s3destinationconfiguration.go create mode 100644 cloudformation/ivschat/aws-ivschat-room.go create mode 100644 cloudformation/ivschat/aws-ivschat-room_messagereviewhandler.go create mode 100644 cloudformation/lambda/aws-lambda-eventsourcemapping_documentdbeventsourceconfig.go create mode 100644 cloudformation/managedblockchain/aws-managedblockchain-accessor.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_requestinspection.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_responseinspection.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_responseinspectionbodycontains.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_responseinspectionheader.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_responseinspectionjson.go create mode 100644 cloudformation/wafv2/aws-wafv2-webacl_responseinspectionstatuscode.go diff --git a/cloudformation/all.go b/cloudformation/all.go index a0fc31919b..b9187fb19d 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -118,6 +118,7 @@ import ( "github.com/awslabs/goformation/v7/cloudformation/iottwinmaker" "github.com/awslabs/goformation/v7/cloudformation/iotwireless" "github.com/awslabs/goformation/v7/cloudformation/ivs" + "github.com/awslabs/goformation/v7/cloudformation/ivschat" "github.com/awslabs/goformation/v7/cloudformation/kafkaconnect" "github.com/awslabs/goformation/v7/cloudformation/kendra" "github.com/awslabs/goformation/v7/cloudformation/kendraranking" @@ -740,6 +741,8 @@ func AllResources() map[string]Resource { "AWS::IVS::PlaybackKeyPair": &ivs.PlaybackKeyPair{}, "AWS::IVS::RecordingConfiguration": &ivs.RecordingConfiguration{}, "AWS::IVS::StreamKey": &ivs.StreamKey{}, + "AWS::IVSChat::LoggingConfiguration": &ivschat.LoggingConfiguration{}, + "AWS::IVSChat::Room": &ivschat.Room{}, "AWS::IdentityStore::Group": &identitystore.Group{}, "AWS::IdentityStore::GroupMembership": &identitystore.GroupMembership{}, "AWS::ImageBuilder::Component": &imagebuilder.Component{}, @@ -899,6 +902,7 @@ func AllResources() map[string]Resource { "AWS::Macie::CustomDataIdentifier": &macie.CustomDataIdentifier{}, "AWS::Macie::FindingsFilter": &macie.FindingsFilter{}, "AWS::Macie::Session": &macie.Session{}, + "AWS::ManagedBlockchain::Accessor": &managedblockchain.Accessor{}, "AWS::ManagedBlockchain::Member": &managedblockchain.Member{}, "AWS::ManagedBlockchain::Node": &managedblockchain.Node{}, "AWS::MediaConnect::Flow": &mediaconnect.Flow{}, @@ -13645,6 +13649,54 @@ func (t *Template) GetIVSStreamKeyWithName(name string) (*ivs.StreamKey, error) return nil, fmt.Errorf("resource %q of type ivs.StreamKey not found", name) } +// GetAllIVSChatLoggingConfigurationResources retrieves all ivschat.LoggingConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllIVSChatLoggingConfigurationResources() map[string]*ivschat.LoggingConfiguration { + results := map[string]*ivschat.LoggingConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ivschat.LoggingConfiguration: + results[name] = resource + } + } + return results +} + +// GetIVSChatLoggingConfigurationWithName retrieves all ivschat.LoggingConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIVSChatLoggingConfigurationWithName(name string) (*ivschat.LoggingConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ivschat.LoggingConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ivschat.LoggingConfiguration not found", name) +} + +// GetAllIVSChatRoomResources retrieves all ivschat.Room items from an AWS CloudFormation template +func (t *Template) GetAllIVSChatRoomResources() map[string]*ivschat.Room { + results := map[string]*ivschat.Room{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ivschat.Room: + results[name] = resource + } + } + return results +} + +// GetIVSChatRoomWithName retrieves all ivschat.Room items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetIVSChatRoomWithName(name string) (*ivschat.Room, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ivschat.Room: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ivschat.Room not found", name) +} + // GetAllIdentityStoreGroupResources retrieves all identitystore.Group items from an AWS CloudFormation template func (t *Template) GetAllIdentityStoreGroupResources() map[string]*identitystore.Group { results := map[string]*identitystore.Group{} @@ -17461,6 +17513,30 @@ func (t *Template) GetMacieSessionWithName(name string) (*macie.Session, error) return nil, fmt.Errorf("resource %q of type macie.Session not found", name) } +// GetAllManagedBlockchainAccessorResources retrieves all managedblockchain.Accessor items from an AWS CloudFormation template +func (t *Template) GetAllManagedBlockchainAccessorResources() map[string]*managedblockchain.Accessor { + results := map[string]*managedblockchain.Accessor{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *managedblockchain.Accessor: + results[name] = resource + } + } + return results +} + +// GetManagedBlockchainAccessorWithName retrieves all managedblockchain.Accessor items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetManagedBlockchainAccessorWithName(name string) (*managedblockchain.Accessor, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *managedblockchain.Accessor: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type managedblockchain.Accessor not found", name) +} + // GetAllManagedBlockchainMemberResources retrieves all managedblockchain.Member items from an AWS CloudFormation template func (t *Template) GetAllManagedBlockchainMemberResources() map[string]*managedblockchain.Member { results := map[string]*managedblockchain.Member{} diff --git a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go index 7949addda3..d1d06d948e 100644 --- a/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go +++ b/cloudformation/codestarnotifications/aws-codestarnotifications-notificationrule.go @@ -51,7 +51,7 @@ type NotificationRule struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-tags - Tags interface{} `json:"Tags,omitempty"` + Tags map[string]string `json:"Tags,omitempty"` // TargetAddress AWS CloudFormation Property // Required: false diff --git a/cloudformation/dynamodb/aws-dynamodb-table.go b/cloudformation/dynamodb/aws-dynamodb-table.go index 9744b20db8..60d619a8c1 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table.go +++ b/cloudformation/dynamodb/aws-dynamodb-table.go @@ -29,6 +29,11 @@ type Table struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-contributorinsightsspecification ContributorInsightsSpecification *Table_ContributorInsightsSpecification `json:"ContributorInsightsSpecification,omitempty"` + // DeletionProtectionEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-deletionprotectionenabled + DeletionProtectionEnabled *bool `json:"DeletionProtectionEnabled,omitempty"` + // GlobalSecondaryIndexes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-globalsecondaryindexes diff --git a/cloudformation/elasticache/aws-elasticache-user.go b/cloudformation/elasticache/aws-elasticache-user.go index f6b4c37edc..c397612e99 100644 --- a/cloudformation/elasticache/aws-elasticache-user.go +++ b/cloudformation/elasticache/aws-elasticache-user.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" ) // User AWS CloudFormation Resource (AWS::ElastiCache::User) @@ -38,6 +39,11 @@ type User struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-passwords Passwords []string `json:"Passwords,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // UserId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-userid diff --git a/cloudformation/elasticache/aws-elasticache-usergroup.go b/cloudformation/elasticache/aws-elasticache-usergroup.go index 169b1f3a1b..12f71b2e08 100644 --- a/cloudformation/elasticache/aws-elasticache-usergroup.go +++ b/cloudformation/elasticache/aws-elasticache-usergroup.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" ) // UserGroup AWS CloudFormation Resource (AWS::ElastiCache::UserGroup) @@ -18,15 +19,20 @@ type UserGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-engine Engine string `json:"Engine"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // UserGroupId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-usergroupid UserGroupId string `json:"UserGroupId"` // UserIds AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-userids - UserIds []string `json:"UserIds,omitempty"` + UserIds []string `json:"UserIds"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/greengrassv2/aws-greengrassv2-deployment.go b/cloudformation/greengrassv2/aws-greengrassv2-deployment.go index 816d949dda..f99926f6df 100644 --- a/cloudformation/greengrassv2/aws-greengrassv2-deployment.go +++ b/cloudformation/greengrassv2/aws-greengrassv2-deployment.go @@ -33,6 +33,11 @@ type Deployment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-iotjobconfiguration IotJobConfiguration *Deployment_DeploymentIoTJobConfiguration `json:"IotJobConfiguration,omitempty"` + // ParentTargetArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-parenttargetarn + ParentTargetArn *string `json:"ParentTargetArn,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html#cfn-greengrassv2-deployment-tags diff --git a/cloudformation/internetmonitor/aws-internetmonitor-monitor.go b/cloudformation/internetmonitor/aws-internetmonitor-monitor.go index ca9a96ebfc..54c21cb76c 100644 --- a/cloudformation/internetmonitor/aws-internetmonitor-monitor.go +++ b/cloudformation/internetmonitor/aws-internetmonitor-monitor.go @@ -14,6 +14,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html type Monitor struct { + // MaxCityNetworksToMonitor AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html#cfn-internetmonitor-monitor-maxcitynetworkstomonitor + MaxCityNetworksToMonitor *int `json:"MaxCityNetworksToMonitor,omitempty"` + // MonitorName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html#cfn-internetmonitor-monitor-monitorname diff --git a/cloudformation/ivschat/aws-ivschat-loggingconfiguration.go b/cloudformation/ivschat/aws-ivschat-loggingconfiguration.go new file mode 100644 index 0000000000..78a4adb5c1 --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-loggingconfiguration.go @@ -0,0 +1,128 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// LoggingConfiguration AWS CloudFormation Resource (AWS::IVSChat::LoggingConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html +type LoggingConfiguration struct { + + // DestinationConfiguration AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration + DestinationConfiguration *LoggingConfiguration_DestinationConfiguration `json:"DestinationConfiguration"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html#cfn-ivschat-loggingconfiguration-name + Name *string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html#cfn-ivschat-loggingconfiguration-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LoggingConfiguration) AWSCloudFormationType() string { + return "AWS::IVSChat::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 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 = LoggingConfiguration(*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/ivschat/aws-ivschat-loggingconfiguration_cloudwatchlogsdestinationconfiguration.go b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_cloudwatchlogsdestinationconfiguration.go new file mode 100644 index 0000000000..4595442f1c --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_cloudwatchlogsdestinationconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LoggingConfiguration_CloudWatchLogsDestinationConfiguration AWS CloudFormation Resource (AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-cloudwatchlogsdestinationconfiguration.html +type LoggingConfiguration_CloudWatchLogsDestinationConfiguration struct { + + // LogGroupName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-cloudwatchlogsdestinationconfiguration.html#cfn-ivschat-loggingconfiguration-cloudwatchlogsdestinationconfiguration-loggroupname + LogGroupName string `json:"LogGroupName"` + + // 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_CloudWatchLogsDestinationConfiguration) AWSCloudFormationType() string { + return "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" +} diff --git a/cloudformation/ivschat/aws-ivschat-loggingconfiguration_destinationconfiguration.go b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_destinationconfiguration.go new file mode 100644 index 0000000000..1bc44353ba --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_destinationconfiguration.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LoggingConfiguration_DestinationConfiguration AWS CloudFormation Resource (AWS::IVSChat::LoggingConfiguration.DestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html +type LoggingConfiguration_DestinationConfiguration struct { + + // CloudWatchLogs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration-cloudwatchlogs + CloudWatchLogs *LoggingConfiguration_CloudWatchLogsDestinationConfiguration `json:"CloudWatchLogs,omitempty"` + + // Firehose AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration-firehose + Firehose *LoggingConfiguration_FirehoseDestinationConfiguration `json:"Firehose,omitempty"` + + // S3 AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration-s3 + S3 *LoggingConfiguration_S3DestinationConfiguration `json:"S3,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LoggingConfiguration_DestinationConfiguration) AWSCloudFormationType() string { + return "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" +} diff --git a/cloudformation/ivschat/aws-ivschat-loggingconfiguration_firehosedestinationconfiguration.go b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_firehosedestinationconfiguration.go new file mode 100644 index 0000000000..4c7c3b4643 --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_firehosedestinationconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LoggingConfiguration_FirehoseDestinationConfiguration AWS CloudFormation Resource (AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-firehosedestinationconfiguration.html +type LoggingConfiguration_FirehoseDestinationConfiguration struct { + + // DeliveryStreamName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-firehosedestinationconfiguration.html#cfn-ivschat-loggingconfiguration-firehosedestinationconfiguration-deliverystreamname + DeliveryStreamName string `json:"DeliveryStreamName"` + + // 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_FirehoseDestinationConfiguration) AWSCloudFormationType() string { + return "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" +} diff --git a/cloudformation/ivschat/aws-ivschat-loggingconfiguration_s3destinationconfiguration.go b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_s3destinationconfiguration.go new file mode 100644 index 0000000000..e09c8456a2 --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-loggingconfiguration_s3destinationconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LoggingConfiguration_S3DestinationConfiguration AWS CloudFormation Resource (AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-s3destinationconfiguration.html +type LoggingConfiguration_S3DestinationConfiguration struct { + + // BucketName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-s3destinationconfiguration.html#cfn-ivschat-loggingconfiguration-s3destinationconfiguration-bucketname + BucketName string `json:"BucketName"` + + // 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_S3DestinationConfiguration) AWSCloudFormationType() string { + return "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" +} diff --git a/cloudformation/ivschat/aws-ivschat-room.go b/cloudformation/ivschat/aws-ivschat-room.go new file mode 100644 index 0000000000..035cf58a74 --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-room.go @@ -0,0 +1,143 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Room AWS CloudFormation Resource (AWS::IVSChat::Room) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html +type Room struct { + + // LoggingConfigurationIdentifiers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-loggingconfigurationidentifiers + LoggingConfigurationIdentifiers []string `json:"LoggingConfigurationIdentifiers,omitempty"` + + // MaximumMessageLength AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-maximummessagelength + MaximumMessageLength *int `json:"MaximumMessageLength,omitempty"` + + // MaximumMessageRatePerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-maximummessageratepersecond + MaximumMessageRatePerSecond *int `json:"MaximumMessageRatePerSecond,omitempty"` + + // MessageReviewHandler AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-messagereviewhandler + MessageReviewHandler *Room_MessageReviewHandler `json:"MessageReviewHandler,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-name + Name *string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Room) AWSCloudFormationType() string { + return "AWS::IVSChat::Room" +} + +// 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 Room) MarshalJSON() ([]byte, error) { + type Properties Room + 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 *Room) UnmarshalJSON(b []byte) error { + type Properties Room + 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 = Room(*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/ivschat/aws-ivschat-room_messagereviewhandler.go b/cloudformation/ivschat/aws-ivschat-room_messagereviewhandler.go new file mode 100644 index 0000000000..f1cff484e4 --- /dev/null +++ b/cloudformation/ivschat/aws-ivschat-room_messagereviewhandler.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ivschat + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Room_MessageReviewHandler AWS CloudFormation Resource (AWS::IVSChat::Room.MessageReviewHandler) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-messagereviewhandler.html +type Room_MessageReviewHandler struct { + + // FallbackResult AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-messagereviewhandler.html#cfn-ivschat-room-messagereviewhandler-fallbackresult + FallbackResult *string `json:"FallbackResult,omitempty"` + + // Uri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-messagereviewhandler.html#cfn-ivschat-room-messagereviewhandler-uri + Uri *string `json:"Uri,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 *Room_MessageReviewHandler) AWSCloudFormationType() string { + return "AWS::IVSChat::Room.MessageReviewHandler" +} diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping.go b/cloudformation/lambda/aws-lambda-eventsourcemapping.go index 3a2a84915d..31c8f42411 100644 --- a/cloudformation/lambda/aws-lambda-eventsourcemapping.go +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping.go @@ -33,6 +33,11 @@ type EventSourceMapping struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig DestinationConfig *EventSourceMapping_DestinationConfig `json:"DestinationConfig,omitempty"` + // DocumentDBEventSourceConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig + DocumentDBEventSourceConfig *EventSourceMapping_DocumentDBEventSourceConfig `json:"DocumentDBEventSourceConfig,omitempty"` + // Enabled AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled diff --git a/cloudformation/lambda/aws-lambda-eventsourcemapping_documentdbeventsourceconfig.go b/cloudformation/lambda/aws-lambda-eventsourcemapping_documentdbeventsourceconfig.go new file mode 100644 index 0000000000..bcd59b752f --- /dev/null +++ b/cloudformation/lambda/aws-lambda-eventsourcemapping_documentdbeventsourceconfig.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lambda + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EventSourceMapping_DocumentDBEventSourceConfig AWS CloudFormation Resource (AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html +type EventSourceMapping_DocumentDBEventSourceConfig struct { + + // CollectionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-collectionname + CollectionName *string `json:"CollectionName,omitempty"` + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-databasename + DatabaseName *string `json:"DatabaseName,omitempty"` + + // FullDocument AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-fulldocument + FullDocument *string `json:"FullDocument,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 *EventSourceMapping_DocumentDBEventSourceConfig) AWSCloudFormationType() string { + return "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" +} diff --git a/cloudformation/lex/aws-lex-bot_customvocabularyitem.go b/cloudformation/lex/aws-lex-bot_customvocabularyitem.go index b7bda4df40..b5f3cde5c2 100644 --- a/cloudformation/lex/aws-lex-bot_customvocabularyitem.go +++ b/cloudformation/lex/aws-lex-bot_customvocabularyitem.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html type Bot_CustomVocabularyItem struct { + // DisplayAs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html#cfn-lex-bot-customvocabularyitem-displayas + DisplayAs *string `json:"DisplayAs,omitempty"` + // Phrase AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html#cfn-lex-bot-customvocabularyitem-phrase diff --git a/cloudformation/managedblockchain/aws-managedblockchain-accessor.go b/cloudformation/managedblockchain/aws-managedblockchain-accessor.go new file mode 100644 index 0000000000..b452a1a77a --- /dev/null +++ b/cloudformation/managedblockchain/aws-managedblockchain-accessor.go @@ -0,0 +1,123 @@ +// Code generated by "go generate". Please don't change this file directly. + +package managedblockchain + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Accessor AWS CloudFormation Resource (AWS::ManagedBlockchain::Accessor) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html +type Accessor struct { + + // AccessorType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html#cfn-managedblockchain-accessor-accessortype + AccessorType string `json:"AccessorType"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html#cfn-managedblockchain-accessor-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Accessor) AWSCloudFormationType() string { + return "AWS::ManagedBlockchain::Accessor" +} + +// 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 Accessor) MarshalJSON() ([]byte, error) { + type Properties Accessor + 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 *Accessor) UnmarshalJSON(b []byte) error { + type Properties Accessor + 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 = Accessor(*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/mediapackage/aws-mediapackage-asset.go b/cloudformation/mediapackage/aws-mediapackage-asset.go index de9126f45f..53b7d9f367 100644 --- a/cloudformation/mediapackage/aws-mediapackage-asset.go +++ b/cloudformation/mediapackage/aws-mediapackage-asset.go @@ -14,6 +14,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html type Asset struct { + // EgressEndpoints AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-egressendpoints + EgressEndpoints []Asset_EgressEndpoint `json:"EgressEndpoints,omitempty"` + // Id AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html#cfn-mediapackage-asset-id diff --git a/cloudformation/rds/aws-rds-dbproxyendpoint.go b/cloudformation/rds/aws-rds-dbproxyendpoint.go index 37af192ba1..ee1bbc74c2 100644 --- a/cloudformation/rds/aws-rds-dbproxyendpoint.go +++ b/cloudformation/rds/aws-rds-dbproxyendpoint.go @@ -28,6 +28,11 @@ type DBProxyEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-tags Tags []DBProxyEndpoint_TagFormat `json:"Tags,omitempty"` + // TargetRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-targetrole + TargetRole *string `json:"TargetRole,omitempty"` + // VpcSecurityGroupIds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-vpcsecuritygroupids diff --git a/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go b/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go new file mode 100644 index 0000000000..38ae09c75f --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_awsmanagedrulesatpruleset.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_AWSManagedRulesATPRuleSet AWS CloudFormation Resource (AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html +type WebACL_AWSManagedRulesATPRuleSet struct { + + // 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 + LoginPath string `json:"LoginPath"` + + // RequestInspection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html#cfn-wafv2-webacl-awsmanagedrulesatpruleset-requestinspection + RequestInspection *WebACL_RequestInspection `json:"RequestInspection,omitempty"` + + // ResponseInspection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html#cfn-wafv2-webacl-awsmanagedrulesatpruleset-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_AWSManagedRulesATPRuleSet) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupconfig.go b/cloudformation/wafv2/aws-wafv2-webacl_managedrulegroupconfig.go index 295ebfb957..c1fc71a877 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 { + // 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 + AWSManagedRulesATPRuleSet *WebACL_AWSManagedRulesATPRuleSet `json:"AWSManagedRulesATPRuleSet,omitempty"` + // AWSManagedRulesBotControlRuleSet AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesbotcontrolruleset diff --git a/cloudformation/wafv2/aws-wafv2-webacl_requestinspection.go b/cloudformation/wafv2/aws-wafv2-webacl_requestinspection.go new file mode 100644 index 0000000000..e9afdc2f61 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_requestinspection.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_RequestInspection AWS CloudFormation Resource (AWS::WAFv2::WebACL.RequestInspection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html +type WebACL_RequestInspection struct { + + // PasswordField AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html#cfn-wafv2-webacl-requestinspection-passwordfield + PasswordField *WebACL_FieldIdentifier `json:"PasswordField"` + + // PayloadType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html#cfn-wafv2-webacl-requestinspection-payloadtype + PayloadType string `json:"PayloadType"` + + // UsernameField AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html#cfn-wafv2-webacl-requestinspection-usernamefield + UsernameField *WebACL_FieldIdentifier `json:"UsernameField"` + + // 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_RequestInspection) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.RequestInspection" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_responseinspection.go b/cloudformation/wafv2/aws-wafv2-webacl_responseinspection.go new file mode 100644 index 0000000000..f8b38cb680 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_responseinspection.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_ResponseInspection AWS CloudFormation Resource (AWS::WAFv2::WebACL.ResponseInspection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html +type WebACL_ResponseInspection struct { + + // BodyContains AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html#cfn-wafv2-webacl-responseinspection-bodycontains + BodyContains *WebACL_ResponseInspectionBodyContains `json:"BodyContains,omitempty"` + + // Header AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html#cfn-wafv2-webacl-responseinspection-header + Header *WebACL_ResponseInspectionHeader `json:"Header,omitempty"` + + // Json AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html#cfn-wafv2-webacl-responseinspection-json + Json *WebACL_ResponseInspectionJson `json:"Json,omitempty"` + + // StatusCode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html#cfn-wafv2-webacl-responseinspection-statuscode + StatusCode *WebACL_ResponseInspectionStatusCode `json:"StatusCode,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_ResponseInspection) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.ResponseInspection" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionbodycontains.go b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionbodycontains.go new file mode 100644 index 0000000000..a5b47b26c0 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionbodycontains.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_ResponseInspectionBodyContains AWS CloudFormation Resource (AWS::WAFv2::WebACL.ResponseInspectionBodyContains) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html +type WebACL_ResponseInspectionBodyContains struct { + + // FailureStrings AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html#cfn-wafv2-webacl-responseinspectionbodycontains-failurestrings + FailureStrings []string `json:"FailureStrings"` + + // SuccessStrings AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html#cfn-wafv2-webacl-responseinspectionbodycontains-successstrings + SuccessStrings []string `json:"SuccessStrings"` + + // 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_ResponseInspectionBodyContains) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.ResponseInspectionBodyContains" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionheader.go b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionheader.go new file mode 100644 index 0000000000..e2bcd2dda9 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionheader.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_ResponseInspectionHeader AWS CloudFormation Resource (AWS::WAFv2::WebACL.ResponseInspectionHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html +type WebACL_ResponseInspectionHeader struct { + + // FailureValues AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html#cfn-wafv2-webacl-responseinspectionheader-failurevalues + FailureValues []string `json:"FailureValues"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html#cfn-wafv2-webacl-responseinspectionheader-name + Name string `json:"Name"` + + // SuccessValues AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html#cfn-wafv2-webacl-responseinspectionheader-successvalues + SuccessValues []string `json:"SuccessValues"` + + // 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_ResponseInspectionHeader) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.ResponseInspectionHeader" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionjson.go b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionjson.go new file mode 100644 index 0000000000..d2b69feffb --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionjson.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package wafv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// WebACL_ResponseInspectionJson AWS CloudFormation Resource (AWS::WAFv2::WebACL.ResponseInspectionJson) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionjson.html +type WebACL_ResponseInspectionJson struct { + + // FailureValues AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionjson.html#cfn-wafv2-webacl-responseinspectionjson-failurevalues + FailureValues []string `json:"FailureValues"` + + // Identifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionjson.html#cfn-wafv2-webacl-responseinspectionjson-identifier + Identifier string `json:"Identifier"` + + // SuccessValues AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionjson.html#cfn-wafv2-webacl-responseinspectionjson-successvalues + SuccessValues []string `json:"SuccessValues"` + + // 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_ResponseInspectionJson) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.ResponseInspectionJson" +} diff --git a/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionstatuscode.go b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionstatuscode.go new file mode 100644 index 0000000000..d690aec412 --- /dev/null +++ b/cloudformation/wafv2/aws-wafv2-webacl_responseinspectionstatuscode.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_ResponseInspectionStatusCode AWS CloudFormation Resource (AWS::WAFv2::WebACL.ResponseInspectionStatusCode) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionstatuscode.html +type WebACL_ResponseInspectionStatusCode struct { + + // FailureCodes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionstatuscode.html#cfn-wafv2-webacl-responseinspectionstatuscode-failurecodes + FailureCodes []int `json:"FailureCodes"` + + // SuccessCodes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionstatuscode.html#cfn-wafv2-webacl-responseinspectionstatuscode-successcodes + SuccessCodes []int `json:"SuccessCodes"` + + // 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_ResponseInspectionStatusCode) AWSCloudFormationType() string { + return "AWS::WAFv2::WebACL.ResponseInspectionStatusCode" +} diff --git a/schema/cdk.go b/schema/cdk.go index 61de99ef6b..198e93463b 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -30365,6 +30365,12 @@ var CdkSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "TargetAddress": { @@ -42714,6 +42720,9 @@ var CdkSchema = `{ "ContributorInsightsSpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, "GlobalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" @@ -60069,6 +60078,12 @@ var CdkSchema = `{ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserId": { "type": "string" }, @@ -60160,6 +60175,12 @@ var CdkSchema = `{ "Engine": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserGroupId": { "type": "string" }, @@ -60172,7 +60193,8 @@ var CdkSchema = `{ }, "required": [ "Engine", - "UserGroupId" + "UserGroupId", + "UserIds" ], "type": "object" }, @@ -74200,6 +74222,9 @@ var CdkSchema = `{ "IotJobConfiguration": { "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" }, + "ParentTargetArn": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -77161,6 +77186,225 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::IVSChat::LoggingConfiguration": { + "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": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" + }, + "S3": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVSChat::Room": { + "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": { + "LoggingConfigurationIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMessageLength": { + "type": "number" + }, + "MaximumMessageRatePerSecond": { + "type": "number" + }, + "MessageReviewHandler": { + "$ref": "#/definitions/AWS::IVSChat::Room.MessageReviewHandler" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::Room" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVSChat::Room.MessageReviewHandler": { + "additionalProperties": false, + "properties": { + "FallbackResult": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { @@ -79185,6 +79429,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "MaxCityNetworksToMonitor": { + "type": "number" + }, "MonitorName": { "type": "string" }, @@ -96022,6 +96269,9 @@ var CdkSchema = `{ "DestinationConfig": { "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" }, + "DocumentDBEventSourceConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" + }, "Enabled": { "type": "boolean" }, @@ -96133,6 +96383,21 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "FullDocument": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::EventSourceMapping.Endpoints": { "additionalProperties": false, "properties": { @@ -97402,6 +97667,9 @@ var CdkSchema = `{ "AWS::Lex::Bot.CustomVocabularyItem": { "additionalProperties": false, "properties": { + "DisplayAs": { + "type": "string" + }, "Phrase": { "type": "string" }, @@ -104327,6 +104595,77 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::ManagedBlockchain::Accessor": { + "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": { + "AccessorType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Accessor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -108846,6 +109185,12 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, "Id": { "type": "string" }, @@ -126096,6 +126441,9 @@ var CdkSchema = `{ }, "type": "array" }, + "TargetRole": { + "type": "string" + }, "VpcSecurityGroupIds": { "items": { "type": "string" @@ -154979,6 +155327,24 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { + "additionalProperties": false, + "properties": { + "LoginPath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspection" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "LoginPath" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { "additionalProperties": false, "properties": { @@ -155475,6 +155841,9 @@ var CdkSchema = `{ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesATPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" + }, "AWSManagedRulesBotControlRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet" }, @@ -155640,6 +156009,140 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspection": { + "additionalProperties": false, + "properties": { + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PasswordField", + "PayloadType", + "UsernameField" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspection": { + "additionalProperties": false, + "properties": { + "BodyContains": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionBodyContains" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionHeader" + }, + "Json": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionJson" + }, + "StatusCode": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionStatusCode" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { + "additionalProperties": false, + "properties": { + "FailureStrings": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SuccessStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureStrings", + "SuccessStrings" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionHeader": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Name", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionJson": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Identifier": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Identifier", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { + "additionalProperties": false, + "properties": { + "FailureCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SuccessCodes": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "FailureCodes", + "SuccessCodes" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.Rule": { "additionalProperties": false, "properties": { @@ -158758,6 +159261,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::IVS::StreamKey" }, + { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVSChat::Room" + }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, @@ -159235,6 +159744,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Macie::Session" }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Accessor" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 0397b9ccbc..e901b7542c 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -30360,6 +30360,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "TargetAddress": { @@ -42709,6 +42715,9 @@ "ContributorInsightsSpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, "GlobalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" @@ -60064,6 +60073,12 @@ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserId": { "type": "string" }, @@ -60155,6 +60170,12 @@ "Engine": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserGroupId": { "type": "string" }, @@ -60167,7 +60188,8 @@ }, "required": [ "Engine", - "UserGroupId" + "UserGroupId", + "UserIds" ], "type": "object" }, @@ -74195,6 +74217,9 @@ "IotJobConfiguration": { "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" }, + "ParentTargetArn": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -77156,6 +77181,225 @@ ], "type": "object" }, + "AWS::IVSChat::LoggingConfiguration": { + "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": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" + }, + "S3": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVSChat::Room": { + "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": { + "LoggingConfigurationIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMessageLength": { + "type": "number" + }, + "MaximumMessageRatePerSecond": { + "type": "number" + }, + "MessageReviewHandler": { + "$ref": "#/definitions/AWS::IVSChat::Room.MessageReviewHandler" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::Room" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVSChat::Room.MessageReviewHandler": { + "additionalProperties": false, + "properties": { + "FallbackResult": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { @@ -79180,6 +79424,9 @@ "Properties": { "additionalProperties": false, "properties": { + "MaxCityNetworksToMonitor": { + "type": "number" + }, "MonitorName": { "type": "string" }, @@ -96017,6 +96264,9 @@ "DestinationConfig": { "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" }, + "DocumentDBEventSourceConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" + }, "Enabled": { "type": "boolean" }, @@ -96128,6 +96378,21 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "FullDocument": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::EventSourceMapping.Endpoints": { "additionalProperties": false, "properties": { @@ -97397,6 +97662,9 @@ "AWS::Lex::Bot.CustomVocabularyItem": { "additionalProperties": false, "properties": { + "DisplayAs": { + "type": "string" + }, "Phrase": { "type": "string" }, @@ -104322,6 +104590,77 @@ ], "type": "object" }, + "AWS::ManagedBlockchain::Accessor": { + "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": { + "AccessorType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Accessor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -108841,6 +109180,12 @@ "Properties": { "additionalProperties": false, "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, "Id": { "type": "string" }, @@ -126091,6 +126436,9 @@ }, "type": "array" }, + "TargetRole": { + "type": "string" + }, "VpcSecurityGroupIds": { "items": { "type": "string" @@ -154974,6 +155322,24 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { + "additionalProperties": false, + "properties": { + "LoginPath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspection" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "LoginPath" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { "additionalProperties": false, "properties": { @@ -155470,6 +155836,9 @@ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesATPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" + }, "AWSManagedRulesBotControlRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet" }, @@ -155635,6 +156004,140 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspection": { + "additionalProperties": false, + "properties": { + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PasswordField", + "PayloadType", + "UsernameField" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspection": { + "additionalProperties": false, + "properties": { + "BodyContains": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionBodyContains" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionHeader" + }, + "Json": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionJson" + }, + "StatusCode": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionStatusCode" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { + "additionalProperties": false, + "properties": { + "FailureStrings": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SuccessStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureStrings", + "SuccessStrings" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionHeader": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Name", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionJson": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Identifier": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Identifier", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { + "additionalProperties": false, + "properties": { + "FailureCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SuccessCodes": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "FailureCodes", + "SuccessCodes" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.Rule": { "additionalProperties": false, "properties": { @@ -158753,6 +159256,12 @@ { "$ref": "#/definitions/AWS::IVS::StreamKey" }, + { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVSChat::Room" + }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, @@ -159230,6 +159739,9 @@ { "$ref": "#/definitions/AWS::Macie::Session" }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Accessor" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 233076014b..09d0309e2f 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -30304,6 +30304,12 @@ var CloudformationSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "TargetAddress": { @@ -42653,6 +42659,9 @@ var CloudformationSchema = `{ "ContributorInsightsSpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, "GlobalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" @@ -60008,6 +60017,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserId": { "type": "string" }, @@ -60099,6 +60114,12 @@ var CloudformationSchema = `{ "Engine": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserGroupId": { "type": "string" }, @@ -60111,7 +60132,8 @@ var CloudformationSchema = `{ }, "required": [ "Engine", - "UserGroupId" + "UserGroupId", + "UserIds" ], "type": "object" }, @@ -74139,6 +74161,9 @@ var CloudformationSchema = `{ "IotJobConfiguration": { "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" }, + "ParentTargetArn": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -77100,6 +77125,225 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IVSChat::LoggingConfiguration": { + "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": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" + }, + "S3": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVSChat::Room": { + "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": { + "LoggingConfigurationIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMessageLength": { + "type": "number" + }, + "MaximumMessageRatePerSecond": { + "type": "number" + }, + "MessageReviewHandler": { + "$ref": "#/definitions/AWS::IVSChat::Room.MessageReviewHandler" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::Room" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVSChat::Room.MessageReviewHandler": { + "additionalProperties": false, + "properties": { + "FallbackResult": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { @@ -79124,6 +79368,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "MaxCityNetworksToMonitor": { + "type": "number" + }, "MonitorName": { "type": "string" }, @@ -95961,6 +96208,9 @@ var CloudformationSchema = `{ "DestinationConfig": { "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" }, + "DocumentDBEventSourceConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" + }, "Enabled": { "type": "boolean" }, @@ -96072,6 +96322,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "FullDocument": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::EventSourceMapping.Endpoints": { "additionalProperties": false, "properties": { @@ -97341,6 +97606,9 @@ var CloudformationSchema = `{ "AWS::Lex::Bot.CustomVocabularyItem": { "additionalProperties": false, "properties": { + "DisplayAs": { + "type": "string" + }, "Phrase": { "type": "string" }, @@ -104266,6 +104534,77 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ManagedBlockchain::Accessor": { + "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": { + "AccessorType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Accessor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -108785,6 +109124,12 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, "Id": { "type": "string" }, @@ -126035,6 +126380,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "TargetRole": { + "type": "string" + }, "VpcSecurityGroupIds": { "items": { "type": "string" @@ -154918,6 +155266,24 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { + "additionalProperties": false, + "properties": { + "LoginPath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspection" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "LoginPath" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { "additionalProperties": false, "properties": { @@ -155414,6 +155780,9 @@ var CloudformationSchema = `{ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesATPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" + }, "AWSManagedRulesBotControlRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet" }, @@ -155579,6 +155948,140 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspection": { + "additionalProperties": false, + "properties": { + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PasswordField", + "PayloadType", + "UsernameField" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspection": { + "additionalProperties": false, + "properties": { + "BodyContains": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionBodyContains" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionHeader" + }, + "Json": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionJson" + }, + "StatusCode": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionStatusCode" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { + "additionalProperties": false, + "properties": { + "FailureStrings": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SuccessStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureStrings", + "SuccessStrings" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionHeader": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Name", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionJson": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Identifier": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Identifier", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { + "additionalProperties": false, + "properties": { + "FailureCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SuccessCodes": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "FailureCodes", + "SuccessCodes" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.Rule": { "additionalProperties": false, "properties": { @@ -158694,6 +159197,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::IVS::StreamKey" }, + { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVSChat::Room" + }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, @@ -159171,6 +159680,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Macie::Session" }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Accessor" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index f6fae5593c..bf38f6a3f7 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -30299,6 +30299,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "TargetAddress": { @@ -42648,6 +42654,9 @@ "ContributorInsightsSpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, "GlobalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" @@ -60003,6 +60012,12 @@ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserId": { "type": "string" }, @@ -60094,6 +60109,12 @@ "Engine": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserGroupId": { "type": "string" }, @@ -60106,7 +60127,8 @@ }, "required": [ "Engine", - "UserGroupId" + "UserGroupId", + "UserIds" ], "type": "object" }, @@ -74134,6 +74156,9 @@ "IotJobConfiguration": { "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" }, + "ParentTargetArn": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -77095,6 +77120,225 @@ ], "type": "object" }, + "AWS::IVSChat::LoggingConfiguration": { + "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": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" + }, + "S3": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVSChat::Room": { + "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": { + "LoggingConfigurationIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMessageLength": { + "type": "number" + }, + "MaximumMessageRatePerSecond": { + "type": "number" + }, + "MessageReviewHandler": { + "$ref": "#/definitions/AWS::IVSChat::Room.MessageReviewHandler" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::Room" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVSChat::Room.MessageReviewHandler": { + "additionalProperties": false, + "properties": { + "FallbackResult": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { @@ -79119,6 +79363,9 @@ "Properties": { "additionalProperties": false, "properties": { + "MaxCityNetworksToMonitor": { + "type": "number" + }, "MonitorName": { "type": "string" }, @@ -95956,6 +96203,9 @@ "DestinationConfig": { "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" }, + "DocumentDBEventSourceConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" + }, "Enabled": { "type": "boolean" }, @@ -96067,6 +96317,21 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "FullDocument": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::EventSourceMapping.Endpoints": { "additionalProperties": false, "properties": { @@ -97336,6 +97601,9 @@ "AWS::Lex::Bot.CustomVocabularyItem": { "additionalProperties": false, "properties": { + "DisplayAs": { + "type": "string" + }, "Phrase": { "type": "string" }, @@ -104261,6 +104529,77 @@ ], "type": "object" }, + "AWS::ManagedBlockchain::Accessor": { + "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": { + "AccessorType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Accessor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -108780,6 +109119,12 @@ "Properties": { "additionalProperties": false, "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, "Id": { "type": "string" }, @@ -126030,6 +126375,9 @@ }, "type": "array" }, + "TargetRole": { + "type": "string" + }, "VpcSecurityGroupIds": { "items": { "type": "string" @@ -154913,6 +155261,24 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { + "additionalProperties": false, + "properties": { + "LoginPath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspection" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "LoginPath" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { "additionalProperties": false, "properties": { @@ -155409,6 +155775,9 @@ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesATPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" + }, "AWSManagedRulesBotControlRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet" }, @@ -155574,6 +155943,140 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspection": { + "additionalProperties": false, + "properties": { + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PasswordField", + "PayloadType", + "UsernameField" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspection": { + "additionalProperties": false, + "properties": { + "BodyContains": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionBodyContains" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionHeader" + }, + "Json": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionJson" + }, + "StatusCode": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionStatusCode" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { + "additionalProperties": false, + "properties": { + "FailureStrings": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SuccessStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureStrings", + "SuccessStrings" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionHeader": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Name", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionJson": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Identifier": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Identifier", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { + "additionalProperties": false, + "properties": { + "FailureCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SuccessCodes": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "FailureCodes", + "SuccessCodes" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.Rule": { "additionalProperties": false, "properties": { @@ -158689,6 +159192,12 @@ { "$ref": "#/definitions/AWS::IVS::StreamKey" }, + { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVSChat::Room" + }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, @@ -159166,6 +159675,9 @@ { "$ref": "#/definitions/AWS::Macie::Session" }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Accessor" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, diff --git a/schema/sam.go b/schema/sam.go index 3c7fbe11c7..50d8e09097 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -30304,6 +30304,12 @@ var SamSchema = `{ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "TargetAddress": { @@ -42653,6 +42659,9 @@ var SamSchema = `{ "ContributorInsightsSpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, "GlobalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" @@ -60008,6 +60017,12 @@ var SamSchema = `{ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserId": { "type": "string" }, @@ -60099,6 +60114,12 @@ var SamSchema = `{ "Engine": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserGroupId": { "type": "string" }, @@ -60111,7 +60132,8 @@ var SamSchema = `{ }, "required": [ "Engine", - "UserGroupId" + "UserGroupId", + "UserIds" ], "type": "object" }, @@ -74139,6 +74161,9 @@ var SamSchema = `{ "IotJobConfiguration": { "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" }, + "ParentTargetArn": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -77100,6 +77125,225 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IVSChat::LoggingConfiguration": { + "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": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" + }, + "S3": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVSChat::Room": { + "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": { + "LoggingConfigurationIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMessageLength": { + "type": "number" + }, + "MaximumMessageRatePerSecond": { + "type": "number" + }, + "MessageReviewHandler": { + "$ref": "#/definitions/AWS::IVSChat::Room.MessageReviewHandler" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::Room" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVSChat::Room.MessageReviewHandler": { + "additionalProperties": false, + "properties": { + "FallbackResult": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { @@ -79124,6 +79368,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "MaxCityNetworksToMonitor": { + "type": "number" + }, "MonitorName": { "type": "string" }, @@ -95961,6 +96208,9 @@ var SamSchema = `{ "DestinationConfig": { "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" }, + "DocumentDBEventSourceConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" + }, "Enabled": { "type": "boolean" }, @@ -96072,6 +96322,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "FullDocument": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::EventSourceMapping.Endpoints": { "additionalProperties": false, "properties": { @@ -97341,6 +97606,9 @@ var SamSchema = `{ "AWS::Lex::Bot.CustomVocabularyItem": { "additionalProperties": false, "properties": { + "DisplayAs": { + "type": "string" + }, "Phrase": { "type": "string" }, @@ -104266,6 +104534,77 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ManagedBlockchain::Accessor": { + "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": { + "AccessorType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Accessor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -108785,6 +109124,12 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, "Id": { "type": "string" }, @@ -126035,6 +126380,9 @@ var SamSchema = `{ }, "type": "array" }, + "TargetRole": { + "type": "string" + }, "VpcSecurityGroupIds": { "items": { "type": "string" @@ -157602,6 +157950,24 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { + "additionalProperties": false, + "properties": { + "LoginPath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspection" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "LoginPath" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { "additionalProperties": false, "properties": { @@ -158098,6 +158464,9 @@ var SamSchema = `{ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesATPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" + }, "AWSManagedRulesBotControlRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet" }, @@ -158263,6 +158632,140 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspection": { + "additionalProperties": false, + "properties": { + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PasswordField", + "PayloadType", + "UsernameField" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspection": { + "additionalProperties": false, + "properties": { + "BodyContains": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionBodyContains" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionHeader" + }, + "Json": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionJson" + }, + "StatusCode": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionStatusCode" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { + "additionalProperties": false, + "properties": { + "FailureStrings": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SuccessStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureStrings", + "SuccessStrings" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionHeader": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Name", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionJson": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Identifier": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Identifier", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { + "additionalProperties": false, + "properties": { + "FailureCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SuccessCodes": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "FailureCodes", + "SuccessCodes" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.Rule": { "additionalProperties": false, "properties": { @@ -161670,6 +162173,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::IVS::StreamKey" }, + { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVSChat::Room" + }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, @@ -162147,6 +162656,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Macie::Session" }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Accessor" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 39e39a4338..896d2c77c0 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -30299,6 +30299,12 @@ "type": "string" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" }, "TargetAddress": { @@ -42648,6 +42654,9 @@ "ContributorInsightsSpecification": { "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" }, + "DeletionProtectionEnabled": { + "type": "boolean" + }, "GlobalSecondaryIndexes": { "items": { "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" @@ -60003,6 +60012,12 @@ }, "type": "array" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserId": { "type": "string" }, @@ -60094,6 +60109,12 @@ "Engine": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UserGroupId": { "type": "string" }, @@ -60106,7 +60127,8 @@ }, "required": [ "Engine", - "UserGroupId" + "UserGroupId", + "UserIds" ], "type": "object" }, @@ -74134,6 +74156,9 @@ "IotJobConfiguration": { "$ref": "#/definitions/AWS::GreengrassV2::Deployment.DeploymentIoTJobConfiguration" }, + "ParentTargetArn": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -77095,6 +77120,225 @@ ], "type": "object" }, + "AWS::IVSChat::LoggingConfiguration": { + "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": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.CloudWatchLogsDestinationConfiguration" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration" + }, + "S3": { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.FirehoseDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IVSChat::LoggingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVSChat::Room": { + "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": { + "LoggingConfigurationIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMessageLength": { + "type": "number" + }, + "MaximumMessageRatePerSecond": { + "type": "number" + }, + "MessageReviewHandler": { + "$ref": "#/definitions/AWS::IVSChat::Room.MessageReviewHandler" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVSChat::Room" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVSChat::Room.MessageReviewHandler": { + "additionalProperties": false, + "properties": { + "FallbackResult": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { @@ -79119,6 +79363,9 @@ "Properties": { "additionalProperties": false, "properties": { + "MaxCityNetworksToMonitor": { + "type": "number" + }, "MonitorName": { "type": "string" }, @@ -95956,6 +96203,9 @@ "DestinationConfig": { "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" }, + "DocumentDBEventSourceConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig" + }, "Enabled": { "type": "boolean" }, @@ -96067,6 +96317,21 @@ }, "type": "object" }, + "AWS::Lambda::EventSourceMapping.DocumentDBEventSourceConfig": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "FullDocument": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::EventSourceMapping.Endpoints": { "additionalProperties": false, "properties": { @@ -97336,6 +97601,9 @@ "AWS::Lex::Bot.CustomVocabularyItem": { "additionalProperties": false, "properties": { + "DisplayAs": { + "type": "string" + }, "Phrase": { "type": "string" }, @@ -104261,6 +104529,77 @@ ], "type": "object" }, + "AWS::ManagedBlockchain::Accessor": { + "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": { + "AccessorType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AccessorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Accessor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::ManagedBlockchain::Member": { "additionalProperties": false, "properties": { @@ -108780,6 +109119,12 @@ "Properties": { "additionalProperties": false, "properties": { + "EgressEndpoints": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::Asset.EgressEndpoint" + }, + "type": "array" + }, "Id": { "type": "string" }, @@ -126030,6 +126375,9 @@ }, "type": "array" }, + "TargetRole": { + "type": "string" + }, "VpcSecurityGroupIds": { "items": { "type": "string" @@ -157597,6 +157945,24 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet": { + "additionalProperties": false, + "properties": { + "LoginPath": { + "type": "string" + }, + "RequestInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RequestInspection" + }, + "ResponseInspection": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspection" + } + }, + "required": [ + "LoginPath" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { "additionalProperties": false, "properties": { @@ -158093,6 +158459,9 @@ "AWS::WAFv2::WebACL.ManagedRuleGroupConfig": { "additionalProperties": false, "properties": { + "AWSManagedRulesATPRuleSet": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesATPRuleSet" + }, "AWSManagedRulesBotControlRuleSet": { "$ref": "#/definitions/AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet" }, @@ -158258,6 +158627,140 @@ ], "type": "object" }, + "AWS::WAFv2::WebACL.RequestInspection": { + "additionalProperties": false, + "properties": { + "PasswordField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + }, + "PayloadType": { + "type": "string" + }, + "UsernameField": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldIdentifier" + } + }, + "required": [ + "PasswordField", + "PayloadType", + "UsernameField" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspection": { + "additionalProperties": false, + "properties": { + "BodyContains": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionBodyContains" + }, + "Header": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionHeader" + }, + "Json": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionJson" + }, + "StatusCode": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ResponseInspectionStatusCode" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { + "additionalProperties": false, + "properties": { + "FailureStrings": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SuccessStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureStrings", + "SuccessStrings" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionHeader": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Name", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionJson": { + "additionalProperties": false, + "properties": { + "FailureValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Identifier": { + "type": "string" + }, + "SuccessValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FailureValues", + "Identifier", + "SuccessValues" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { + "additionalProperties": false, + "properties": { + "FailureCodes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SuccessCodes": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "FailureCodes", + "SuccessCodes" + ], + "type": "object" + }, "AWS::WAFv2::WebACL.Rule": { "additionalProperties": false, "properties": { @@ -161665,6 +162168,12 @@ { "$ref": "#/definitions/AWS::IVS::StreamKey" }, + { + "$ref": "#/definitions/AWS::IVSChat::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVSChat::Room" + }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, @@ -162142,6 +162651,9 @@ { "$ref": "#/definitions/AWS::Macie::Session" }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Accessor" + }, { "$ref": "#/definitions/AWS::ManagedBlockchain::Member" },