diff --git a/cloudformation/all.go b/cloudformation/all.go index b20882b292..8ec79bcfa4 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -36,6 +36,7 @@ import ( "github.com/awslabs/goformation/v7/cloudformation/ce" "github.com/awslabs/goformation/v7/cloudformation/certificatemanager" "github.com/awslabs/goformation/v7/cloudformation/chatbot" + "github.com/awslabs/goformation/v7/cloudformation/cleanrooms" "github.com/awslabs/goformation/v7/cloudformation/cloud9" "github.com/awslabs/goformation/v7/cloudformation/cloudformation" "github.com/awslabs/goformation/v7/cloudformation/cloudfront" @@ -368,6 +369,10 @@ func AllResources() map[string]Resource { "AWS::CertificateManager::Certificate": &certificatemanager.Certificate{}, "AWS::Chatbot::MicrosoftTeamsChannelConfiguration": &chatbot.MicrosoftTeamsChannelConfiguration{}, "AWS::Chatbot::SlackChannelConfiguration": &chatbot.SlackChannelConfiguration{}, + "AWS::CleanRooms::Collaboration": &cleanrooms.Collaboration{}, + "AWS::CleanRooms::ConfiguredTable": &cleanrooms.ConfiguredTable{}, + "AWS::CleanRooms::ConfiguredTableAssociation": &cleanrooms.ConfiguredTableAssociation{}, + "AWS::CleanRooms::Membership": &cleanrooms.Membership{}, "AWS::Cloud9::EnvironmentEC2": &cloud9.EnvironmentEC2{}, "AWS::CloudFormation::CustomResource": &cloudformation.CustomResource{}, "AWS::CloudFormation::HookDefaultVersion": &cloudformation.HookDefaultVersion{}, @@ -469,6 +474,7 @@ func AllResources() map[string]Resource { "AWS::ControlTower::EnabledControl": &controltower.EnabledControl{}, "AWS::CustomerProfiles::CalculatedAttributeDefinition": &customerprofiles.CalculatedAttributeDefinition{}, "AWS::CustomerProfiles::Domain": &customerprofiles.Domain{}, + "AWS::CustomerProfiles::EventStream": &customerprofiles.EventStream{}, "AWS::CustomerProfiles::Integration": &customerprofiles.Integration{}, "AWS::CustomerProfiles::ObjectType": &customerprofiles.ObjectType{}, "AWS::DAX::Cluster": &dax.Cluster{}, @@ -936,11 +942,15 @@ func AllResources() map[string]Resource { "AWS::ManagedBlockchain::Accessor": &managedblockchain.Accessor{}, "AWS::ManagedBlockchain::Member": &managedblockchain.Member{}, "AWS::ManagedBlockchain::Node": &managedblockchain.Node{}, + "AWS::MediaConnect::Bridge": &mediaconnect.Bridge{}, + "AWS::MediaConnect::BridgeOutput": &mediaconnect.BridgeOutput{}, + "AWS::MediaConnect::BridgeSource": &mediaconnect.BridgeSource{}, "AWS::MediaConnect::Flow": &mediaconnect.Flow{}, "AWS::MediaConnect::FlowEntitlement": &mediaconnect.FlowEntitlement{}, "AWS::MediaConnect::FlowOutput": &mediaconnect.FlowOutput{}, "AWS::MediaConnect::FlowSource": &mediaconnect.FlowSource{}, "AWS::MediaConnect::FlowVpcInterface": &mediaconnect.FlowVpcInterface{}, + "AWS::MediaConnect::Gateway": &mediaconnect.Gateway{}, "AWS::MediaConvert::JobTemplate": &mediaconvert.JobTemplate{}, "AWS::MediaConvert::Preset": &mediaconvert.Preset{}, "AWS::MediaConvert::Queue": &mediaconvert.Queue{}, @@ -1060,6 +1070,7 @@ func AllResources() map[string]Resource { "AWS::QuickSight::VPCConnection": &quicksight.VPCConnection{}, "AWS::RAM::Permission": &ram.Permission{}, "AWS::RAM::ResourceShare": &ram.ResourceShare{}, + "AWS::RDS::CustomDBEngineVersion": &rds.CustomDBEngineVersion{}, "AWS::RDS::DBCluster": &rds.DBCluster{}, "AWS::RDS::DBClusterParameterGroup": &rds.DBClusterParameterGroup{}, "AWS::RDS::DBInstance": &rds.DBInstance{}, @@ -1212,7 +1223,9 @@ func AllResources() map[string]Resource { "AWS::SecretsManager::RotationSchedule": &secretsmanager.RotationSchedule{}, "AWS::SecretsManager::Secret": &secretsmanager.Secret{}, "AWS::SecretsManager::SecretTargetAttachment": &secretsmanager.SecretTargetAttachment{}, + "AWS::SecurityHub::AutomationRule": &securityhub.AutomationRule{}, "AWS::SecurityHub::Hub": &securityhub.Hub{}, + "AWS::SecurityHub::Standard": &securityhub.Standard{}, "AWS::Serverless::Api": &serverless.Api{}, "AWS::Serverless::Application": &serverless.Application{}, "AWS::Serverless::Function": &serverless.Function{}, @@ -4609,6 +4622,102 @@ func (t *Template) GetChatbotSlackChannelConfigurationWithName(name string) (*ch return nil, fmt.Errorf("resource %q of type chatbot.SlackChannelConfiguration not found", name) } +// GetAllCleanRoomsCollaborationResources retrieves all cleanrooms.Collaboration items from an AWS CloudFormation template +func (t *Template) GetAllCleanRoomsCollaborationResources() map[string]*cleanrooms.Collaboration { + results := map[string]*cleanrooms.Collaboration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cleanrooms.Collaboration: + results[name] = resource + } + } + return results +} + +// GetCleanRoomsCollaborationWithName retrieves all cleanrooms.Collaboration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCleanRoomsCollaborationWithName(name string) (*cleanrooms.Collaboration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cleanrooms.Collaboration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cleanrooms.Collaboration not found", name) +} + +// GetAllCleanRoomsConfiguredTableResources retrieves all cleanrooms.ConfiguredTable items from an AWS CloudFormation template +func (t *Template) GetAllCleanRoomsConfiguredTableResources() map[string]*cleanrooms.ConfiguredTable { + results := map[string]*cleanrooms.ConfiguredTable{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cleanrooms.ConfiguredTable: + results[name] = resource + } + } + return results +} + +// GetCleanRoomsConfiguredTableWithName retrieves all cleanrooms.ConfiguredTable items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCleanRoomsConfiguredTableWithName(name string) (*cleanrooms.ConfiguredTable, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cleanrooms.ConfiguredTable: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cleanrooms.ConfiguredTable not found", name) +} + +// GetAllCleanRoomsConfiguredTableAssociationResources retrieves all cleanrooms.ConfiguredTableAssociation items from an AWS CloudFormation template +func (t *Template) GetAllCleanRoomsConfiguredTableAssociationResources() map[string]*cleanrooms.ConfiguredTableAssociation { + results := map[string]*cleanrooms.ConfiguredTableAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cleanrooms.ConfiguredTableAssociation: + results[name] = resource + } + } + return results +} + +// GetCleanRoomsConfiguredTableAssociationWithName retrieves all cleanrooms.ConfiguredTableAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCleanRoomsConfiguredTableAssociationWithName(name string) (*cleanrooms.ConfiguredTableAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cleanrooms.ConfiguredTableAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cleanrooms.ConfiguredTableAssociation not found", name) +} + +// GetAllCleanRoomsMembershipResources retrieves all cleanrooms.Membership items from an AWS CloudFormation template +func (t *Template) GetAllCleanRoomsMembershipResources() map[string]*cleanrooms.Membership { + results := map[string]*cleanrooms.Membership{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *cleanrooms.Membership: + results[name] = resource + } + } + return results +} + +// GetCleanRoomsMembershipWithName retrieves all cleanrooms.Membership items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCleanRoomsMembershipWithName(name string) (*cleanrooms.Membership, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *cleanrooms.Membership: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type cleanrooms.Membership not found", name) +} + // GetAllCloud9EnvironmentEC2Resources retrieves all cloud9.EnvironmentEC2 items from an AWS CloudFormation template func (t *Template) GetAllCloud9EnvironmentEC2Resources() map[string]*cloud9.EnvironmentEC2 { results := map[string]*cloud9.EnvironmentEC2{} @@ -7033,6 +7142,30 @@ func (t *Template) GetCustomerProfilesDomainWithName(name string) (*customerprof return nil, fmt.Errorf("resource %q of type customerprofiles.Domain not found", name) } +// GetAllCustomerProfilesEventStreamResources retrieves all customerprofiles.EventStream items from an AWS CloudFormation template +func (t *Template) GetAllCustomerProfilesEventStreamResources() map[string]*customerprofiles.EventStream { + results := map[string]*customerprofiles.EventStream{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *customerprofiles.EventStream: + results[name] = resource + } + } + return results +} + +// GetCustomerProfilesEventStreamWithName retrieves all customerprofiles.EventStream items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCustomerProfilesEventStreamWithName(name string) (*customerprofiles.EventStream, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *customerprofiles.EventStream: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type customerprofiles.EventStream not found", name) +} + // GetAllCustomerProfilesIntegrationResources retrieves all customerprofiles.Integration items from an AWS CloudFormation template func (t *Template) GetAllCustomerProfilesIntegrationResources() map[string]*customerprofiles.Integration { results := map[string]*customerprofiles.Integration{} @@ -18241,6 +18374,78 @@ func (t *Template) GetManagedBlockchainNodeWithName(name string) (*managedblockc return nil, fmt.Errorf("resource %q of type managedblockchain.Node not found", name) } +// GetAllMediaConnectBridgeResources retrieves all mediaconnect.Bridge items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectBridgeResources() map[string]*mediaconnect.Bridge { + results := map[string]*mediaconnect.Bridge{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediaconnect.Bridge: + results[name] = resource + } + } + return results +} + +// GetMediaConnectBridgeWithName retrieves all mediaconnect.Bridge items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaConnectBridgeWithName(name string) (*mediaconnect.Bridge, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediaconnect.Bridge: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediaconnect.Bridge not found", name) +} + +// GetAllMediaConnectBridgeOutputResources retrieves all mediaconnect.BridgeOutput items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectBridgeOutputResources() map[string]*mediaconnect.BridgeOutput { + results := map[string]*mediaconnect.BridgeOutput{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediaconnect.BridgeOutput: + results[name] = resource + } + } + return results +} + +// GetMediaConnectBridgeOutputWithName retrieves all mediaconnect.BridgeOutput items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaConnectBridgeOutputWithName(name string) (*mediaconnect.BridgeOutput, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediaconnect.BridgeOutput: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediaconnect.BridgeOutput not found", name) +} + +// GetAllMediaConnectBridgeSourceResources retrieves all mediaconnect.BridgeSource items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectBridgeSourceResources() map[string]*mediaconnect.BridgeSource { + results := map[string]*mediaconnect.BridgeSource{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediaconnect.BridgeSource: + results[name] = resource + } + } + return results +} + +// GetMediaConnectBridgeSourceWithName retrieves all mediaconnect.BridgeSource items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaConnectBridgeSourceWithName(name string) (*mediaconnect.BridgeSource, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediaconnect.BridgeSource: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediaconnect.BridgeSource not found", name) +} + // GetAllMediaConnectFlowResources retrieves all mediaconnect.Flow items from an AWS CloudFormation template func (t *Template) GetAllMediaConnectFlowResources() map[string]*mediaconnect.Flow { results := map[string]*mediaconnect.Flow{} @@ -18361,6 +18566,30 @@ func (t *Template) GetMediaConnectFlowVpcInterfaceWithName(name string) (*mediac return nil, fmt.Errorf("resource %q of type mediaconnect.FlowVpcInterface not found", name) } +// GetAllMediaConnectGatewayResources retrieves all mediaconnect.Gateway items from an AWS CloudFormation template +func (t *Template) GetAllMediaConnectGatewayResources() map[string]*mediaconnect.Gateway { + results := map[string]*mediaconnect.Gateway{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediaconnect.Gateway: + results[name] = resource + } + } + return results +} + +// GetMediaConnectGatewayWithName retrieves all mediaconnect.Gateway items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaConnectGatewayWithName(name string) (*mediaconnect.Gateway, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediaconnect.Gateway: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediaconnect.Gateway not found", name) +} + // GetAllMediaConvertJobTemplateResources retrieves all mediaconvert.JobTemplate items from an AWS CloudFormation template func (t *Template) GetAllMediaConvertJobTemplateResources() map[string]*mediaconvert.JobTemplate { results := map[string]*mediaconvert.JobTemplate{} @@ -21217,6 +21446,30 @@ func (t *Template) GetRAMResourceShareWithName(name string) (*ram.ResourceShare, return nil, fmt.Errorf("resource %q of type ram.ResourceShare not found", name) } +// GetAllRDSCustomDBEngineVersionResources retrieves all rds.CustomDBEngineVersion items from an AWS CloudFormation template +func (t *Template) GetAllRDSCustomDBEngineVersionResources() map[string]*rds.CustomDBEngineVersion { + results := map[string]*rds.CustomDBEngineVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *rds.CustomDBEngineVersion: + results[name] = resource + } + } + return results +} + +// GetRDSCustomDBEngineVersionWithName retrieves all rds.CustomDBEngineVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRDSCustomDBEngineVersionWithName(name string) (*rds.CustomDBEngineVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *rds.CustomDBEngineVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type rds.CustomDBEngineVersion not found", name) +} + // GetAllRDSDBClusterResources retrieves all rds.DBCluster items from an AWS CloudFormation template func (t *Template) GetAllRDSDBClusterResources() map[string]*rds.DBCluster { results := map[string]*rds.DBCluster{} @@ -24865,6 +25118,30 @@ func (t *Template) GetSecretsManagerSecretTargetAttachmentWithName(name string) return nil, fmt.Errorf("resource %q of type secretsmanager.SecretTargetAttachment not found", name) } +// GetAllSecurityHubAutomationRuleResources retrieves all securityhub.AutomationRule items from an AWS CloudFormation template +func (t *Template) GetAllSecurityHubAutomationRuleResources() map[string]*securityhub.AutomationRule { + results := map[string]*securityhub.AutomationRule{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *securityhub.AutomationRule: + results[name] = resource + } + } + return results +} + +// GetSecurityHubAutomationRuleWithName retrieves all securityhub.AutomationRule items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSecurityHubAutomationRuleWithName(name string) (*securityhub.AutomationRule, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *securityhub.AutomationRule: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type securityhub.AutomationRule not found", name) +} + // GetAllSecurityHubHubResources retrieves all securityhub.Hub items from an AWS CloudFormation template func (t *Template) GetAllSecurityHubHubResources() map[string]*securityhub.Hub { results := map[string]*securityhub.Hub{} @@ -24889,6 +25166,30 @@ func (t *Template) GetSecurityHubHubWithName(name string) (*securityhub.Hub, err return nil, fmt.Errorf("resource %q of type securityhub.Hub not found", name) } +// GetAllSecurityHubStandardResources retrieves all securityhub.Standard items from an AWS CloudFormation template +func (t *Template) GetAllSecurityHubStandardResources() map[string]*securityhub.Standard { + results := map[string]*securityhub.Standard{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *securityhub.Standard: + results[name] = resource + } + } + return results +} + +// GetSecurityHubStandardWithName retrieves all securityhub.Standard items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSecurityHubStandardWithName(name string) (*securityhub.Standard, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *securityhub.Standard: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type securityhub.Standard not found", name) +} + // GetAllServerlessApiResources retrieves all serverless.Api items from an AWS CloudFormation template func (t *Template) GetAllServerlessApiResources() map[string]*serverless.Api { results := map[string]*serverless.Api{} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-collaboration.go b/cloudformation/cleanrooms/aws-cleanrooms-collaboration.go new file mode 100644 index 0000000000..13a812d80a --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-collaboration.go @@ -0,0 +1,153 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Collaboration AWS CloudFormation Resource (AWS::CleanRooms::Collaboration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html +type Collaboration struct { + + // CreatorDisplayName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-creatordisplayname + CreatorDisplayName string `json:"CreatorDisplayName"` + + // CreatorMemberAbilities AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-creatormemberabilities + CreatorMemberAbilities []string `json:"CreatorMemberAbilities"` + + // DataEncryptionMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-dataencryptionmetadata + DataEncryptionMetadata *Collaboration_DataEncryptionMetadata `json:"DataEncryptionMetadata,omitempty"` + + // Description AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-description + Description string `json:"Description"` + + // Members AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-members + Members []Collaboration_MemberSpecification `json:"Members"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-name + Name string `json:"Name"` + + // QueryLogStatus AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-querylogstatus + QueryLogStatus string `json:"QueryLogStatus"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html#cfn-cleanrooms-collaboration-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 *Collaboration) AWSCloudFormationType() string { + return "AWS::CleanRooms::Collaboration" +} + +// 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 Collaboration) MarshalJSON() ([]byte, error) { + type Properties Collaboration + 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 *Collaboration) UnmarshalJSON(b []byte) error { + type Properties Collaboration + 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 = Collaboration(*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/cleanrooms/aws-cleanrooms-collaboration_dataencryptionmetadata.go b/cloudformation/cleanrooms/aws-cleanrooms-collaboration_dataencryptionmetadata.go new file mode 100644 index 0000000000..101c91825d --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-collaboration_dataencryptionmetadata.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Collaboration_DataEncryptionMetadata AWS CloudFormation Resource (AWS::CleanRooms::Collaboration.DataEncryptionMetadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-dataencryptionmetadata.html +type Collaboration_DataEncryptionMetadata struct { + + // AllowCleartext AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-dataencryptionmetadata.html#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowcleartext + AllowCleartext bool `json:"AllowCleartext"` + + // AllowDuplicates AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-dataencryptionmetadata.html#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowduplicates + AllowDuplicates bool `json:"AllowDuplicates"` + + // AllowJoinsOnColumnsWithDifferentNames AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-dataencryptionmetadata.html#cfn-cleanrooms-collaboration-dataencryptionmetadata-allowjoinsoncolumnswithdifferentnames + AllowJoinsOnColumnsWithDifferentNames bool `json:"AllowJoinsOnColumnsWithDifferentNames"` + + // PreserveNulls AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-dataencryptionmetadata.html#cfn-cleanrooms-collaboration-dataencryptionmetadata-preservenulls + PreserveNulls bool `json:"PreserveNulls"` + + // 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 *Collaboration_DataEncryptionMetadata) AWSCloudFormationType() string { + return "AWS::CleanRooms::Collaboration.DataEncryptionMetadata" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-collaboration_memberspecification.go b/cloudformation/cleanrooms/aws-cleanrooms-collaboration_memberspecification.go new file mode 100644 index 0000000000..93e0d0e50c --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-collaboration_memberspecification.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Collaboration_MemberSpecification AWS CloudFormation Resource (AWS::CleanRooms::Collaboration.MemberSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-memberspecification.html +type Collaboration_MemberSpecification struct { + + // AccountId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-memberspecification.html#cfn-cleanrooms-collaboration-memberspecification-accountid + AccountId string `json:"AccountId"` + + // DisplayName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-memberspecification.html#cfn-cleanrooms-collaboration-memberspecification-displayname + DisplayName string `json:"DisplayName"` + + // MemberAbilities AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-collaboration-memberspecification.html#cfn-cleanrooms-collaboration-memberspecification-memberabilities + MemberAbilities []string `json:"MemberAbilities"` + + // 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 *Collaboration_MemberSpecification) AWSCloudFormationType() string { + return "AWS::CleanRooms::Collaboration.MemberSpecification" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable.go new file mode 100644 index 0000000000..89de068e50 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable.go @@ -0,0 +1,148 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// ConfiguredTable AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html +type ConfiguredTable struct { + + // AllowedColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-allowedcolumns + AllowedColumns []string `json:"AllowedColumns"` + + // AnalysisMethod AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-analysismethod + AnalysisMethod string `json:"AnalysisMethod"` + + // AnalysisRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-analysisrules + AnalysisRules []ConfiguredTable_AnalysisRule `json:"AnalysisRules,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-description + Description *string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-name + Name string `json:"Name"` + + // TableReference AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-tablereference + TableReference *ConfiguredTable_TableReference `json:"TableReference"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-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 *ConfiguredTable) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable" +} + +// 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 ConfiguredTable) MarshalJSON() ([]byte, error) { + type Properties ConfiguredTable + 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 *ConfiguredTable) UnmarshalJSON(b []byte) error { + type Properties ConfiguredTable + 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 = ConfiguredTable(*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/cleanrooms/aws-cleanrooms-configuredtable_aggregatecolumn.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_aggregatecolumn.go new file mode 100644 index 0000000000..612f78fb47 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_aggregatecolumn.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_AggregateColumn AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.AggregateColumn) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregatecolumn.html +type ConfiguredTable_AggregateColumn struct { + + // ColumnNames AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregatecolumn.html#cfn-cleanrooms-configuredtable-aggregatecolumn-columnnames + ColumnNames []string `json:"ColumnNames"` + + // Function AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregatecolumn.html#cfn-cleanrooms-configuredtable-aggregatecolumn-function + Function string `json:"Function"` + + // 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 *ConfiguredTable_AggregateColumn) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.AggregateColumn" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_aggregationconstraint.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_aggregationconstraint.go new file mode 100644 index 0000000000..ccc3fad420 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_aggregationconstraint.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_AggregationConstraint AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.AggregationConstraint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregationconstraint.html +type ConfiguredTable_AggregationConstraint struct { + + // ColumnName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregationconstraint.html#cfn-cleanrooms-configuredtable-aggregationconstraint-columnname + ColumnName string `json:"ColumnName"` + + // Minimum AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregationconstraint.html#cfn-cleanrooms-configuredtable-aggregationconstraint-minimum + Minimum float64 `json:"Minimum"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-aggregationconstraint.html#cfn-cleanrooms-configuredtable-aggregationconstraint-type + Type string `json:"Type"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ConfiguredTable_AggregationConstraint) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.AggregationConstraint" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisrule.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisrule.go new file mode 100644 index 0000000000..e807ceeaf5 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisrule.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_AnalysisRule AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.AnalysisRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrule.html +type ConfiguredTable_AnalysisRule struct { + + // Policy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrule.html#cfn-cleanrooms-configuredtable-analysisrule-policy + Policy *ConfiguredTable_ConfiguredTableAnalysisRulePolicy `json:"Policy"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrule.html#cfn-cleanrooms-configuredtable-analysisrule-type + Type string `json:"Type"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ConfiguredTable_AnalysisRule) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.AnalysisRule" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisruleaggregation.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisruleaggregation.go new file mode 100644 index 0000000000..7ac236011f --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisruleaggregation.go @@ -0,0 +1,62 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_AnalysisRuleAggregation AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html +type ConfiguredTable_AnalysisRuleAggregation struct { + + // AggregateColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-aggregatecolumns + AggregateColumns []ConfiguredTable_AggregateColumn `json:"AggregateColumns"` + + // DimensionColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-dimensioncolumns + DimensionColumns []string `json:"DimensionColumns"` + + // JoinColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-joincolumns + JoinColumns []string `json:"JoinColumns"` + + // JoinRequired AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-joinrequired + JoinRequired *string `json:"JoinRequired,omitempty"` + + // OutputConstraints AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-outputconstraints + OutputConstraints []ConfiguredTable_AggregationConstraint `json:"OutputConstraints"` + + // ScalarFunctions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-scalarfunctions + ScalarFunctions []string `json:"ScalarFunctions"` + + // 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 *ConfiguredTable_AnalysisRuleAggregation) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisrulelist.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisrulelist.go new file mode 100644 index 0000000000..7998ed22c5 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_analysisrulelist.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_AnalysisRuleList AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.AnalysisRuleList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulelist.html +type ConfiguredTable_AnalysisRuleList struct { + + // JoinColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulelist.html#cfn-cleanrooms-configuredtable-analysisrulelist-joincolumns + JoinColumns []string `json:"JoinColumns"` + + // ListColumns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulelist.html#cfn-cleanrooms-configuredtable-analysisrulelist-listcolumns + ListColumns []string `json:"ListColumns"` + + // 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 *ConfiguredTable_AnalysisRuleList) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_configuredtableanalysisrulepolicy.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_configuredtableanalysisrulepolicy.go new file mode 100644 index 0000000000..4b8914bc8c --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_configuredtableanalysisrulepolicy.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_ConfiguredTableAnalysisRulePolicy AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy.html +type ConfiguredTable_ConfiguredTableAnalysisRulePolicy struct { + + // V1 AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicy.html#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicy-v1 + V1 *ConfiguredTable_ConfiguredTableAnalysisRulePolicyV1 `json:"V1"` + + // 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 *ConfiguredTable_ConfiguredTableAnalysisRulePolicy) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_configuredtableanalysisrulepolicyv1.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_configuredtableanalysisrulepolicyv1.go new file mode 100644 index 0000000000..2acf5739ef --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_configuredtableanalysisrulepolicyv1.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_ConfiguredTableAnalysisRulePolicyV1 AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1.html +type ConfiguredTable_ConfiguredTableAnalysisRulePolicyV1 struct { + + // Aggregation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1.html#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-aggregation + Aggregation *ConfiguredTable_AnalysisRuleAggregation `json:"Aggregation,omitempty"` + + // List AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1.html#cfn-cleanrooms-configuredtable-configuredtableanalysisrulepolicyv1-list + List *ConfiguredTable_AnalysisRuleList `json:"List,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 *ConfiguredTable_ConfiguredTableAnalysisRulePolicyV1) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_gluetablereference.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_gluetablereference.go new file mode 100644 index 0000000000..3d7f0540a8 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_gluetablereference.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_GlueTableReference AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.GlueTableReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-gluetablereference.html +type ConfiguredTable_GlueTableReference struct { + + // DatabaseName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-gluetablereference.html#cfn-cleanrooms-configuredtable-gluetablereference-databasename + DatabaseName string `json:"DatabaseName"` + + // TableName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-gluetablereference.html#cfn-cleanrooms-configuredtable-gluetablereference-tablename + TableName string `json:"TableName"` + + // 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 *ConfiguredTable_GlueTableReference) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.GlueTableReference" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_tablereference.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_tablereference.go new file mode 100644 index 0000000000..16304a0e8e --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtable_tablereference.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ConfiguredTable_TableReference AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTable.TableReference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-tablereference.html +type ConfiguredTable_TableReference struct { + + // Glue AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-tablereference.html#cfn-cleanrooms-configuredtable-tablereference-glue + Glue *ConfiguredTable_GlueTableReference `json:"Glue"` + + // 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 *ConfiguredTable_TableReference) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTable.TableReference" +} diff --git a/cloudformation/cleanrooms/aws-cleanrooms-configuredtableassociation.go b/cloudformation/cleanrooms/aws-cleanrooms-configuredtableassociation.go new file mode 100644 index 0000000000..1eefe47767 --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-configuredtableassociation.go @@ -0,0 +1,143 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// ConfiguredTableAssociation AWS CloudFormation Resource (AWS::CleanRooms::ConfiguredTableAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html +type ConfiguredTableAssociation struct { + + // ConfiguredTableIdentifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-configuredtableidentifier + ConfiguredTableIdentifier string `json:"ConfiguredTableIdentifier"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-description + Description *string `json:"Description,omitempty"` + + // MembershipIdentifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-membershipidentifier + MembershipIdentifier string `json:"MembershipIdentifier"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-name + Name string `json:"Name"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-rolearn + RoleArn string `json:"RoleArn"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-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 *ConfiguredTableAssociation) AWSCloudFormationType() string { + return "AWS::CleanRooms::ConfiguredTableAssociation" +} + +// 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 ConfiguredTableAssociation) MarshalJSON() ([]byte, error) { + type Properties ConfiguredTableAssociation + 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 *ConfiguredTableAssociation) UnmarshalJSON(b []byte) error { + type Properties ConfiguredTableAssociation + 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 = ConfiguredTableAssociation(*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/cleanrooms/aws-cleanrooms-membership.go b/cloudformation/cleanrooms/aws-cleanrooms-membership.go new file mode 100644 index 0000000000..2e3354e82d --- /dev/null +++ b/cloudformation/cleanrooms/aws-cleanrooms-membership.go @@ -0,0 +1,128 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cleanrooms + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Membership AWS CloudFormation Resource (AWS::CleanRooms::Membership) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html +type Membership struct { + + // CollaborationIdentifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html#cfn-cleanrooms-membership-collaborationidentifier + CollaborationIdentifier string `json:"CollaborationIdentifier"` + + // QueryLogStatus AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html#cfn-cleanrooms-membership-querylogstatus + QueryLogStatus string `json:"QueryLogStatus"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html#cfn-cleanrooms-membership-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 *Membership) AWSCloudFormationType() string { + return "AWS::CleanRooms::Membership" +} + +// 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 Membership) MarshalJSON() ([]byte, error) { + type Properties Membership + 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 *Membership) UnmarshalJSON(b []byte) error { + type Properties Membership + 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 = Membership(*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/customerprofiles/aws-customerprofiles-eventstream.go b/cloudformation/customerprofiles/aws-customerprofiles-eventstream.go new file mode 100644 index 0000000000..9e4874891a --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-eventstream.go @@ -0,0 +1,133 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// EventStream AWS CloudFormation Resource (AWS::CustomerProfiles::EventStream) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html +type EventStream struct { + + // DomainName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html#cfn-customerprofiles-eventstream-domainname + DomainName string `json:"DomainName"` + + // EventStreamName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html#cfn-customerprofiles-eventstream-eventstreamname + EventStreamName string `json:"EventStreamName"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html#cfn-customerprofiles-eventstream-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html#cfn-customerprofiles-eventstream-uri + Uri string `json:"Uri"` + + // 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 *EventStream) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::EventStream" +} + +// 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 EventStream) MarshalJSON() ([]byte, error) { + type Properties EventStream + 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 *EventStream) UnmarshalJSON(b []byte) error { + type Properties EventStream + 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 = EventStream(*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/customerprofiles/aws-customerprofiles-eventstream_destinationdetails.go b/cloudformation/customerprofiles/aws-customerprofiles-eventstream_destinationdetails.go new file mode 100644 index 0000000000..50831072db --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-eventstream_destinationdetails.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EventStream_DestinationDetails AWS CloudFormation Resource (AWS::CustomerProfiles::EventStream.DestinationDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventstream-destinationdetails.html +type EventStream_DestinationDetails struct { + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventstream-destinationdetails.html#cfn-customerprofiles-eventstream-destinationdetails-status + Status string `json:"Status"` + + // Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-eventstream-destinationdetails.html#cfn-customerprofiles-eventstream-destinationdetails-uri + Uri string `json:"Uri"` + + // 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 *EventStream_DestinationDetails) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::EventStream.DestinationDetails" +} diff --git a/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go b/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go index 44c0c607cc..34a5df869d 100644 --- a/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go +++ b/cloudformation/dynamodb/aws-dynamodb-table_timetolivespecification.go @@ -11,9 +11,9 @@ import ( type Table_TimeToLiveSpecification struct { // AttributeName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html#cfn-dynamodb-table-timetolivespecification-attributename - AttributeName string `json:"AttributeName"` + AttributeName *string `json:"AttributeName,omitempty"` // Enabled AWS CloudFormation Property // Required: true diff --git a/cloudformation/ivs/aws-ivs-channel.go b/cloudformation/ivs/aws-ivs-channel.go index 5d2dbd8b90..5f7d37f7b9 100644 --- a/cloudformation/ivs/aws-ivs-channel.go +++ b/cloudformation/ivs/aws-ivs-channel.go @@ -34,6 +34,11 @@ type Channel struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-name Name *string `json:"Name,omitempty"` + // Preset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-preset + Preset *string `json:"Preset,omitempty"` + // RecordingConfigurationArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-recordingconfigurationarn diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge.go new file mode 100644 index 0000000000..ee6119f48a --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge.go @@ -0,0 +1,147 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge AWS CloudFormation Resource (AWS::MediaConnect::Bridge) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html +type Bridge struct { + + // EgressGatewayBridge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-egressgatewaybridge + EgressGatewayBridge *Bridge_EgressGatewayBridge `json:"EgressGatewayBridge,omitempty"` + + // IngressGatewayBridge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-ingressgatewaybridge + IngressGatewayBridge *Bridge_IngressGatewayBridge `json:"IngressGatewayBridge,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-name + Name string `json:"Name"` + + // Outputs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-outputs + Outputs []Bridge_BridgeOutput `json:"Outputs,omitempty"` + + // PlacementArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-placementarn + PlacementArn string `json:"PlacementArn"` + + // SourceFailoverConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-sourcefailoverconfig + SourceFailoverConfig *Bridge_FailoverConfig `json:"SourceFailoverConfig,omitempty"` + + // Sources AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html#cfn-mediaconnect-bridge-sources + Sources []Bridge_BridgeSource `json:"Sources"` + + // 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 *Bridge) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge" +} + +// 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 Bridge) MarshalJSON() ([]byte, error) { + type Properties Bridge + 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 *Bridge) UnmarshalJSON(b []byte) error { + type Properties Bridge + 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 = Bridge(*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/mediaconnect/aws-mediaconnect-bridge_bridgeflowsource.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgeflowsource.go new file mode 100644 index 0000000000..9bf2c0fef8 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgeflowsource.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_BridgeFlowSource AWS CloudFormation Resource (AWS::MediaConnect::Bridge.BridgeFlowSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeflowsource.html +type Bridge_BridgeFlowSource struct { + + // FlowArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeflowsource.html#cfn-mediaconnect-bridge-bridgeflowsource-flowarn + FlowArn string `json:"FlowArn"` + + // FlowVpcInterfaceAttachment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeflowsource.html#cfn-mediaconnect-bridge-bridgeflowsource-flowvpcinterfaceattachment + FlowVpcInterfaceAttachment *Bridge_VpcInterfaceAttachment `json:"FlowVpcInterfaceAttachment,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeflowsource.html#cfn-mediaconnect-bridge-bridgeflowsource-name + Name string `json:"Name"` + + // 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 *Bridge_BridgeFlowSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.BridgeFlowSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgenetworkoutput.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgenetworkoutput.go new file mode 100644 index 0000000000..3f9f03a065 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgenetworkoutput.go @@ -0,0 +1,62 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_BridgeNetworkOutput AWS CloudFormation Resource (AWS::MediaConnect::Bridge.BridgeNetworkOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html +type Bridge_BridgeNetworkOutput struct { + + // IpAddress AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html#cfn-mediaconnect-bridge-bridgenetworkoutput-ipaddress + IpAddress string `json:"IpAddress"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html#cfn-mediaconnect-bridge-bridgenetworkoutput-name + Name string `json:"Name"` + + // NetworkName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html#cfn-mediaconnect-bridge-bridgenetworkoutput-networkname + NetworkName string `json:"NetworkName"` + + // Port AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html#cfn-mediaconnect-bridge-bridgenetworkoutput-port + Port int `json:"Port"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html#cfn-mediaconnect-bridge-bridgenetworkoutput-protocol + Protocol string `json:"Protocol"` + + // Ttl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworkoutput.html#cfn-mediaconnect-bridge-bridgenetworkoutput-ttl + Ttl int `json:"Ttl"` + + // 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 *Bridge_BridgeNetworkOutput) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.BridgeNetworkOutput" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgenetworksource.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgenetworksource.go new file mode 100644 index 0000000000..624e1ea454 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgenetworksource.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_BridgeNetworkSource AWS CloudFormation Resource (AWS::MediaConnect::Bridge.BridgeNetworkSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworksource.html +type Bridge_BridgeNetworkSource struct { + + // MulticastIp AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworksource.html#cfn-mediaconnect-bridge-bridgenetworksource-multicastip + MulticastIp string `json:"MulticastIp"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworksource.html#cfn-mediaconnect-bridge-bridgenetworksource-name + Name string `json:"Name"` + + // NetworkName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworksource.html#cfn-mediaconnect-bridge-bridgenetworksource-networkname + NetworkName string `json:"NetworkName"` + + // Port AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworksource.html#cfn-mediaconnect-bridge-bridgenetworksource-port + Port int `json:"Port"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgenetworksource.html#cfn-mediaconnect-bridge-bridgenetworksource-protocol + Protocol string `json:"Protocol"` + + // 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 *Bridge_BridgeNetworkSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.BridgeNetworkSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgeoutput.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgeoutput.go new file mode 100644 index 0000000000..2e0ff6c1f4 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgeoutput.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_BridgeOutput AWS CloudFormation Resource (AWS::MediaConnect::Bridge.BridgeOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeoutput.html +type Bridge_BridgeOutput struct { + + // NetworkOutput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgeoutput.html#cfn-mediaconnect-bridge-bridgeoutput-networkoutput + NetworkOutput *Bridge_BridgeNetworkOutput `json:"NetworkOutput,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 *Bridge_BridgeOutput) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.BridgeOutput" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgesource.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgesource.go new file mode 100644 index 0000000000..2b8699ff71 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_bridgesource.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_BridgeSource AWS CloudFormation Resource (AWS::MediaConnect::Bridge.BridgeSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgesource.html +type Bridge_BridgeSource struct { + + // FlowSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgesource.html#cfn-mediaconnect-bridge-bridgesource-flowsource + FlowSource *Bridge_BridgeFlowSource `json:"FlowSource,omitempty"` + + // NetworkSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-bridgesource.html#cfn-mediaconnect-bridge-bridgesource-networksource + NetworkSource *Bridge_BridgeNetworkSource `json:"NetworkSource,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 *Bridge_BridgeSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.BridgeSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_egressgatewaybridge.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_egressgatewaybridge.go new file mode 100644 index 0000000000..60ad5e5dc8 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_egressgatewaybridge.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_EgressGatewayBridge AWS CloudFormation Resource (AWS::MediaConnect::Bridge.EgressGatewayBridge) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-egressgatewaybridge.html +type Bridge_EgressGatewayBridge struct { + + // MaxBitrate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-egressgatewaybridge.html#cfn-mediaconnect-bridge-egressgatewaybridge-maxbitrate + MaxBitrate int `json:"MaxBitrate"` + + // 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 *Bridge_EgressGatewayBridge) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.EgressGatewayBridge" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_failoverconfig.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_failoverconfig.go new file mode 100644 index 0000000000..95e66b0ec9 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_failoverconfig.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_FailoverConfig AWS CloudFormation Resource (AWS::MediaConnect::Bridge.FailoverConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-failoverconfig.html +type Bridge_FailoverConfig struct { + + // FailoverMode AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-failoverconfig.html#cfn-mediaconnect-bridge-failoverconfig-failovermode + FailoverMode string `json:"FailoverMode"` + + // SourcePriority AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-failoverconfig.html#cfn-mediaconnect-bridge-failoverconfig-sourcepriority + SourcePriority *Bridge_SourcePriority `json:"SourcePriority,omitempty"` + + // State AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-failoverconfig.html#cfn-mediaconnect-bridge-failoverconfig-state + State *string `json:"State,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 *Bridge_FailoverConfig) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.FailoverConfig" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_ingressgatewaybridge.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_ingressgatewaybridge.go new file mode 100644 index 0000000000..ccbfb31596 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_ingressgatewaybridge.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_IngressGatewayBridge AWS CloudFormation Resource (AWS::MediaConnect::Bridge.IngressGatewayBridge) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-ingressgatewaybridge.html +type Bridge_IngressGatewayBridge struct { + + // MaxBitrate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-ingressgatewaybridge.html#cfn-mediaconnect-bridge-ingressgatewaybridge-maxbitrate + MaxBitrate int `json:"MaxBitrate"` + + // MaxOutputs AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-ingressgatewaybridge.html#cfn-mediaconnect-bridge-ingressgatewaybridge-maxoutputs + MaxOutputs int `json:"MaxOutputs"` + + // 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 *Bridge_IngressGatewayBridge) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.IngressGatewayBridge" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_sourcepriority.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_sourcepriority.go new file mode 100644 index 0000000000..8f5f9ae49e --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_sourcepriority.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_SourcePriority AWS CloudFormation Resource (AWS::MediaConnect::Bridge.SourcePriority) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-sourcepriority.html +type Bridge_SourcePriority struct { + + // PrimarySource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-sourcepriority.html#cfn-mediaconnect-bridge-sourcepriority-primarysource + PrimarySource *string `json:"PrimarySource,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 *Bridge_SourcePriority) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.SourcePriority" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridge_vpcinterfaceattachment.go b/cloudformation/mediaconnect/aws-mediaconnect-bridge_vpcinterfaceattachment.go new file mode 100644 index 0000000000..05aa8f9846 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridge_vpcinterfaceattachment.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Bridge_VpcInterfaceAttachment AWS CloudFormation Resource (AWS::MediaConnect::Bridge.VpcInterfaceAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-vpcinterfaceattachment.html +type Bridge_VpcInterfaceAttachment struct { + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridge-vpcinterfaceattachment.html#cfn-mediaconnect-bridge-vpcinterfaceattachment-vpcinterfacename + VpcInterfaceName *string `json:"VpcInterfaceName,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 *Bridge_VpcInterfaceAttachment) AWSCloudFormationType() string { + return "AWS::MediaConnect::Bridge.VpcInterfaceAttachment" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridgeoutput.go b/cloudformation/mediaconnect/aws-mediaconnect-bridgeoutput.go new file mode 100644 index 0000000000..bd18f24221 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridgeoutput.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BridgeOutput AWS CloudFormation Resource (AWS::MediaConnect::BridgeOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html +type BridgeOutput struct { + + // BridgeArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html#cfn-mediaconnect-bridgeoutput-bridgearn + BridgeArn string `json:"BridgeArn"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html#cfn-mediaconnect-bridgeoutput-name + Name string `json:"Name"` + + // NetworkOutput AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html#cfn-mediaconnect-bridgeoutput-networkoutput + NetworkOutput *BridgeOutput_BridgeNetworkOutput `json:"NetworkOutput"` + + // 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 *BridgeOutput) AWSCloudFormationType() string { + return "AWS::MediaConnect::BridgeOutput" +} + +// 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 BridgeOutput) MarshalJSON() ([]byte, error) { + type Properties BridgeOutput + 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 *BridgeOutput) UnmarshalJSON(b []byte) error { + type Properties BridgeOutput + 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 = BridgeOutput(*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/mediaconnect/aws-mediaconnect-bridgeoutput_bridgenetworkoutput.go b/cloudformation/mediaconnect/aws-mediaconnect-bridgeoutput_bridgenetworkoutput.go new file mode 100644 index 0000000000..f56b04cc41 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridgeoutput_bridgenetworkoutput.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BridgeOutput_BridgeNetworkOutput AWS CloudFormation Resource (AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html +type BridgeOutput_BridgeNetworkOutput struct { + + // IpAddress AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html#cfn-mediaconnect-bridgeoutput-bridgenetworkoutput-ipaddress + IpAddress string `json:"IpAddress"` + + // NetworkName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html#cfn-mediaconnect-bridgeoutput-bridgenetworkoutput-networkname + NetworkName string `json:"NetworkName"` + + // Port AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html#cfn-mediaconnect-bridgeoutput-bridgenetworkoutput-port + Port int `json:"Port"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html#cfn-mediaconnect-bridgeoutput-bridgenetworkoutput-protocol + Protocol string `json:"Protocol"` + + // Ttl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgeoutput-bridgenetworkoutput.html#cfn-mediaconnect-bridgeoutput-bridgenetworkoutput-ttl + Ttl int `json:"Ttl"` + + // 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 *BridgeOutput_BridgeNetworkOutput) AWSCloudFormationType() string { + return "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridgesource.go b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource.go new file mode 100644 index 0000000000..00639a8046 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource.go @@ -0,0 +1,132 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BridgeSource AWS CloudFormation Resource (AWS::MediaConnect::BridgeSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html +type BridgeSource struct { + + // BridgeArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html#cfn-mediaconnect-bridgesource-bridgearn + BridgeArn string `json:"BridgeArn"` + + // FlowSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html#cfn-mediaconnect-bridgesource-flowsource + FlowSource *BridgeSource_BridgeFlowSource `json:"FlowSource,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html#cfn-mediaconnect-bridgesource-name + Name string `json:"Name"` + + // NetworkSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html#cfn-mediaconnect-bridgesource-networksource + NetworkSource *BridgeSource_BridgeNetworkSource `json:"NetworkSource,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 *BridgeSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::BridgeSource" +} + +// 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 BridgeSource) MarshalJSON() ([]byte, error) { + type Properties BridgeSource + 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 *BridgeSource) UnmarshalJSON(b []byte) error { + type Properties BridgeSource + 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 = BridgeSource(*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/mediaconnect/aws-mediaconnect-bridgesource_bridgeflowsource.go b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_bridgeflowsource.go new file mode 100644 index 0000000000..94df30d26c --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_bridgeflowsource.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BridgeSource_BridgeFlowSource AWS CloudFormation Resource (AWS::MediaConnect::BridgeSource.BridgeFlowSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgeflowsource.html +type BridgeSource_BridgeFlowSource struct { + + // FlowArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgeflowsource.html#cfn-mediaconnect-bridgesource-bridgeflowsource-flowarn + FlowArn string `json:"FlowArn"` + + // FlowVpcInterfaceAttachment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgeflowsource.html#cfn-mediaconnect-bridgesource-bridgeflowsource-flowvpcinterfaceattachment + FlowVpcInterfaceAttachment *BridgeSource_VpcInterfaceAttachment `json:"FlowVpcInterfaceAttachment,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 *BridgeSource_BridgeFlowSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::BridgeSource.BridgeFlowSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_bridgenetworksource.go b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_bridgenetworksource.go new file mode 100644 index 0000000000..9953e4473a --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_bridgenetworksource.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BridgeSource_BridgeNetworkSource AWS CloudFormation Resource (AWS::MediaConnect::BridgeSource.BridgeNetworkSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgenetworksource.html +type BridgeSource_BridgeNetworkSource struct { + + // MulticastIp AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgenetworksource.html#cfn-mediaconnect-bridgesource-bridgenetworksource-multicastip + MulticastIp string `json:"MulticastIp"` + + // NetworkName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgenetworksource.html#cfn-mediaconnect-bridgesource-bridgenetworksource-networkname + NetworkName string `json:"NetworkName"` + + // Port AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgenetworksource.html#cfn-mediaconnect-bridgesource-bridgenetworksource-port + Port int `json:"Port"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-bridgenetworksource.html#cfn-mediaconnect-bridgesource-bridgenetworksource-protocol + Protocol string `json:"Protocol"` + + // 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 *BridgeSource_BridgeNetworkSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::BridgeSource.BridgeNetworkSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_vpcinterfaceattachment.go b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_vpcinterfaceattachment.go new file mode 100644 index 0000000000..57cffaa8c7 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-bridgesource_vpcinterfaceattachment.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BridgeSource_VpcInterfaceAttachment AWS CloudFormation Resource (AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-vpcinterfaceattachment.html +type BridgeSource_VpcInterfaceAttachment struct { + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-bridgesource-vpcinterfaceattachment.html#cfn-mediaconnect-bridgesource-vpcinterfaceattachment-vpcinterfacename + VpcInterfaceName *string `json:"VpcInterfaceName,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 *BridgeSource_VpcInterfaceAttachment) AWSCloudFormationType() string { + return "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-gateway.go b/cloudformation/mediaconnect/aws-mediaconnect-gateway.go new file mode 100644 index 0000000000..a62e768cc1 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-gateway.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Gateway AWS CloudFormation Resource (AWS::MediaConnect::Gateway) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html +type Gateway struct { + + // EgressCidrBlocks AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html#cfn-mediaconnect-gateway-egresscidrblocks + EgressCidrBlocks []string `json:"EgressCidrBlocks"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html#cfn-mediaconnect-gateway-name + Name string `json:"Name"` + + // Networks AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html#cfn-mediaconnect-gateway-networks + Networks []Gateway_GatewayNetwork `json:"Networks"` + + // 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 *Gateway) AWSCloudFormationType() string { + return "AWS::MediaConnect::Gateway" +} + +// 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 Gateway) MarshalJSON() ([]byte, error) { + type Properties Gateway + 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 *Gateway) UnmarshalJSON(b []byte) error { + type Properties Gateway + 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 = Gateway(*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/mediaconnect/aws-mediaconnect-gateway_gatewaynetwork.go b/cloudformation/mediaconnect/aws-mediaconnect-gateway_gatewaynetwork.go new file mode 100644 index 0000000000..c7162a4371 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-gateway_gatewaynetwork.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediaconnect + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Gateway_GatewayNetwork AWS CloudFormation Resource (AWS::MediaConnect::Gateway.GatewayNetwork) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-gateway-gatewaynetwork.html +type Gateway_GatewayNetwork struct { + + // CidrBlock AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-gateway-gatewaynetwork.html#cfn-mediaconnect-gateway-gatewaynetwork-cidrblock + CidrBlock string `json:"CidrBlock"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-gateway-gatewaynetwork.html#cfn-mediaconnect-gateway-gatewaynetwork-name + Name string `json:"Name"` + + // 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 *Gateway_GatewayNetwork) AWSCloudFormationType() string { + return "AWS::MediaConnect::Gateway.GatewayNetwork" +} diff --git a/cloudformation/rds/aws-rds-customdbengineversion.go b/cloudformation/rds/aws-rds-customdbengineversion.go new file mode 100644 index 0000000000..4bc74ea738 --- /dev/null +++ b/cloudformation/rds/aws-rds-customdbengineversion.go @@ -0,0 +1,158 @@ +// Code generated by "go generate". Please don't change this file directly. + +package rds + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// CustomDBEngineVersion AWS CloudFormation Resource (AWS::RDS::CustomDBEngineVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html +type CustomDBEngineVersion struct { + + // DatabaseInstallationFilesS3BucketName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-databaseinstallationfiless3bucketname + DatabaseInstallationFilesS3BucketName string `json:"DatabaseInstallationFilesS3BucketName"` + + // DatabaseInstallationFilesS3Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-databaseinstallationfiless3prefix + DatabaseInstallationFilesS3Prefix *string `json:"DatabaseInstallationFilesS3Prefix,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-description + Description *string `json:"Description,omitempty"` + + // Engine AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-engine + Engine string `json:"Engine"` + + // EngineVersion AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-engineversion + EngineVersion string `json:"EngineVersion"` + + // KMSKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-kmskeyid + KMSKeyId *string `json:"KMSKeyId,omitempty"` + + // Manifest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-manifest + Manifest *string `json:"Manifest,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-status + Status *string `json:"Status,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-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 *CustomDBEngineVersion) AWSCloudFormationType() string { + return "AWS::RDS::CustomDBEngineVersion" +} + +// 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 CustomDBEngineVersion) MarshalJSON() ([]byte, error) { + type Properties CustomDBEngineVersion + 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 *CustomDBEngineVersion) UnmarshalJSON(b []byte) error { + type Properties CustomDBEngineVersion + 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 = CustomDBEngineVersion(*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/securityhub/aws-securityhub-automationrule.go b/cloudformation/securityhub/aws-securityhub-automationrule.go new file mode 100644 index 0000000000..8e3dda42df --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule.go @@ -0,0 +1,152 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html +type AutomationRule struct { + + // Actions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-actions + Actions []AutomationRule_AutomationRulesAction `json:"Actions,omitempty"` + + // Criteria AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-criteria + Criteria *AutomationRule_AutomationRulesFindingFilters `json:"Criteria,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-description + Description *string `json:"Description,omitempty"` + + // IsTerminal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-isterminal + IsTerminal *bool `json:"IsTerminal,omitempty"` + + // RuleName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-rulename + RuleName *string `json:"RuleName,omitempty"` + + // RuleOrder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-ruleorder + RuleOrder *int `json:"RuleOrder,omitempty"` + + // RuleStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-rulestatus + RuleStatus *string `json:"RuleStatus,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html#cfn-securityhub-automationrule-tags + Tags map[string]string `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 *AutomationRule) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule" +} + +// 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 AutomationRule) MarshalJSON() ([]byte, error) { + type Properties AutomationRule + 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 *AutomationRule) UnmarshalJSON(b []byte) error { + type Properties AutomationRule + 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 = AutomationRule(*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/securityhub/aws-securityhub-automationrule_automationrulesaction.go b/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesaction.go new file mode 100644 index 0000000000..964b65c421 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesaction.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_AutomationRulesAction AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.AutomationRulesAction) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesaction.html +type AutomationRule_AutomationRulesAction struct { + + // FindingFieldsUpdate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesaction.html#cfn-securityhub-automationrule-automationrulesaction-findingfieldsupdate + FindingFieldsUpdate *AutomationRule_AutomationRulesFindingFieldsUpdate `json:"FindingFieldsUpdate"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesaction.html#cfn-securityhub-automationrule-automationrulesaction-type + Type string `json:"Type"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *AutomationRule_AutomationRulesAction) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.AutomationRulesAction" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesfindingfieldsupdate.go b/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesfindingfieldsupdate.go new file mode 100644 index 0000000000..39bd6ba922 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesfindingfieldsupdate.go @@ -0,0 +1,77 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_AutomationRulesFindingFieldsUpdate AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html +type AutomationRule_AutomationRulesFindingFieldsUpdate struct { + + // Confidence AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-confidence + Confidence *int `json:"Confidence,omitempty"` + + // Criticality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-criticality + Criticality *int `json:"Criticality,omitempty"` + + // Note AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-note + Note *AutomationRule_NoteUpdate `json:"Note,omitempty"` + + // RelatedFindings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-relatedfindings + RelatedFindings []AutomationRule_RelatedFinding `json:"RelatedFindings,omitempty"` + + // Severity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-severity + Severity *AutomationRule_SeverityUpdate `json:"Severity,omitempty"` + + // Types AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-types + Types []string `json:"Types,omitempty"` + + // UserDefinedFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-userdefinedfields + UserDefinedFields map[string]string `json:"UserDefinedFields,omitempty"` + + // VerificationState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-verificationstate + VerificationState *string `json:"VerificationState,omitempty"` + + // Workflow AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-workflow + Workflow *AutomationRule_WorkflowUpdate `json:"Workflow,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 *AutomationRule_AutomationRulesFindingFieldsUpdate) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesfindingfilters.go b/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesfindingfilters.go new file mode 100644 index 0000000000..5c20646a27 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_automationrulesfindingfilters.go @@ -0,0 +1,207 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_AutomationRulesFindingFilters AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html +type AutomationRule_AutomationRulesFindingFilters struct { + + // AwsAccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-awsaccountid + AwsAccountId []AutomationRule_StringFilter `json:"AwsAccountId,omitempty"` + + // CompanyName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-companyname + CompanyName []AutomationRule_StringFilter `json:"CompanyName,omitempty"` + + // ComplianceAssociatedStandardsId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-complianceassociatedstandardsid + ComplianceAssociatedStandardsId []AutomationRule_StringFilter `json:"ComplianceAssociatedStandardsId,omitempty"` + + // ComplianceSecurityControlId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-compliancesecuritycontrolid + ComplianceSecurityControlId []AutomationRule_StringFilter `json:"ComplianceSecurityControlId,omitempty"` + + // ComplianceStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-compliancestatus + ComplianceStatus []AutomationRule_StringFilter `json:"ComplianceStatus,omitempty"` + + // Confidence AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-confidence + Confidence []AutomationRule_NumberFilter `json:"Confidence,omitempty"` + + // CreatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-createdat + CreatedAt []AutomationRule_DateFilter `json:"CreatedAt,omitempty"` + + // Criticality AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-criticality + Criticality []AutomationRule_NumberFilter `json:"Criticality,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-description + Description []AutomationRule_StringFilter `json:"Description,omitempty"` + + // FirstObservedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-firstobservedat + FirstObservedAt []AutomationRule_DateFilter `json:"FirstObservedAt,omitempty"` + + // GeneratorId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-generatorid + GeneratorId []AutomationRule_StringFilter `json:"GeneratorId,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-id + Id []AutomationRule_StringFilter `json:"Id,omitempty"` + + // LastObservedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-lastobservedat + LastObservedAt []AutomationRule_DateFilter `json:"LastObservedAt,omitempty"` + + // NoteText AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-notetext + NoteText []AutomationRule_StringFilter `json:"NoteText,omitempty"` + + // NoteUpdatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-noteupdatedat + NoteUpdatedAt []AutomationRule_DateFilter `json:"NoteUpdatedAt,omitempty"` + + // NoteUpdatedBy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-noteupdatedby + NoteUpdatedBy []AutomationRule_StringFilter `json:"NoteUpdatedBy,omitempty"` + + // ProductArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-productarn + ProductArn []AutomationRule_StringFilter `json:"ProductArn,omitempty"` + + // ProductName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-productname + ProductName []AutomationRule_StringFilter `json:"ProductName,omitempty"` + + // RecordState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-recordstate + RecordState []AutomationRule_StringFilter `json:"RecordState,omitempty"` + + // RelatedFindingsId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-relatedfindingsid + RelatedFindingsId []AutomationRule_StringFilter `json:"RelatedFindingsId,omitempty"` + + // RelatedFindingsProductArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-relatedfindingsproductarn + RelatedFindingsProductArn []AutomationRule_StringFilter `json:"RelatedFindingsProductArn,omitempty"` + + // ResourceDetailsOther AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-resourcedetailsother + ResourceDetailsOther []AutomationRule_MapFilter `json:"ResourceDetailsOther,omitempty"` + + // ResourceId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-resourceid + ResourceId []AutomationRule_StringFilter `json:"ResourceId,omitempty"` + + // ResourcePartition AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-resourcepartition + ResourcePartition []AutomationRule_StringFilter `json:"ResourcePartition,omitempty"` + + // ResourceRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-resourceregion + ResourceRegion []AutomationRule_StringFilter `json:"ResourceRegion,omitempty"` + + // ResourceTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-resourcetags + ResourceTags []AutomationRule_MapFilter `json:"ResourceTags,omitempty"` + + // ResourceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-resourcetype + ResourceType []AutomationRule_StringFilter `json:"ResourceType,omitempty"` + + // SeverityLabel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-severitylabel + SeverityLabel []AutomationRule_StringFilter `json:"SeverityLabel,omitempty"` + + // SourceUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-sourceurl + SourceUrl []AutomationRule_StringFilter `json:"SourceUrl,omitempty"` + + // Title AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-title + Title []AutomationRule_StringFilter `json:"Title,omitempty"` + + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-type + Type []AutomationRule_StringFilter `json:"Type,omitempty"` + + // UpdatedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-updatedat + UpdatedAt []AutomationRule_DateFilter `json:"UpdatedAt,omitempty"` + + // UserDefinedFields AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-userdefinedfields + UserDefinedFields []AutomationRule_MapFilter `json:"UserDefinedFields,omitempty"` + + // VerificationState AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-verificationstate + VerificationState []AutomationRule_StringFilter `json:"VerificationState,omitempty"` + + // WorkflowStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfilters.html#cfn-securityhub-automationrule-automationrulesfindingfilters-workflowstatus + WorkflowStatus []AutomationRule_StringFilter `json:"WorkflowStatus,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 *AutomationRule_AutomationRulesFindingFilters) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_datefilter.go b/cloudformation/securityhub/aws-securityhub-automationrule_datefilter.go new file mode 100644 index 0000000000..c16bf5b398 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_datefilter.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_DateFilter AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.DateFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html +type AutomationRule_DateFilter struct { + + // DateRange AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html#cfn-securityhub-automationrule-datefilter-daterange + DateRange *AutomationRule_DateRange `json:"DateRange,omitempty"` + + // End AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html#cfn-securityhub-automationrule-datefilter-end + End *string `json:"End,omitempty"` + + // Start AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html#cfn-securityhub-automationrule-datefilter-start + Start *string `json:"Start,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 *AutomationRule_DateFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.DateFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_daterange.go b/cloudformation/securityhub/aws-securityhub-automationrule_daterange.go new file mode 100644 index 0000000000..9b9bf941a8 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_daterange.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_DateRange AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.DateRange) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-daterange.html +type AutomationRule_DateRange struct { + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-daterange.html#cfn-securityhub-automationrule-daterange-unit + Unit string `json:"Unit"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-daterange.html#cfn-securityhub-automationrule-daterange-value + Value float64 `json:"Value"` + + // 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 *AutomationRule_DateRange) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.DateRange" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_mapfilter.go b/cloudformation/securityhub/aws-securityhub-automationrule_mapfilter.go new file mode 100644 index 0000000000..12370dcee3 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_mapfilter.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_MapFilter AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.MapFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-mapfilter.html +type AutomationRule_MapFilter struct { + + // Comparison AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-mapfilter.html#cfn-securityhub-automationrule-mapfilter-comparison + Comparison string `json:"Comparison"` + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-mapfilter.html#cfn-securityhub-automationrule-mapfilter-key + Key string `json:"Key"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-mapfilter.html#cfn-securityhub-automationrule-mapfilter-value + Value string `json:"Value"` + + // 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 *AutomationRule_MapFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.MapFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_noteupdate.go b/cloudformation/securityhub/aws-securityhub-automationrule_noteupdate.go new file mode 100644 index 0000000000..52d5280f7f --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_noteupdate.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_NoteUpdate AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.NoteUpdate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-noteupdate.html +type AutomationRule_NoteUpdate struct { + + // Text AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-noteupdate.html#cfn-securityhub-automationrule-noteupdate-text + Text string `json:"Text"` + + // UpdatedBy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-noteupdate.html#cfn-securityhub-automationrule-noteupdate-updatedby + UpdatedBy interface{} `json:"UpdatedBy"` + + // 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 *AutomationRule_NoteUpdate) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.NoteUpdate" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_numberfilter.go b/cloudformation/securityhub/aws-securityhub-automationrule_numberfilter.go new file mode 100644 index 0000000000..0aef1d6bbb --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_numberfilter.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_NumberFilter AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.NumberFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-numberfilter.html +type AutomationRule_NumberFilter struct { + + // Eq AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-numberfilter.html#cfn-securityhub-automationrule-numberfilter-eq + Eq *float64 `json:"Eq,omitempty"` + + // Gte AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-numberfilter.html#cfn-securityhub-automationrule-numberfilter-gte + Gte *float64 `json:"Gte,omitempty"` + + // Lte AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-numberfilter.html#cfn-securityhub-automationrule-numberfilter-lte + Lte *float64 `json:"Lte,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 *AutomationRule_NumberFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.NumberFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_relatedfinding.go b/cloudformation/securityhub/aws-securityhub-automationrule_relatedfinding.go new file mode 100644 index 0000000000..506819458a --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_relatedfinding.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_RelatedFinding AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.RelatedFinding) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-relatedfinding.html +type AutomationRule_RelatedFinding struct { + + // Id AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-relatedfinding.html#cfn-securityhub-automationrule-relatedfinding-id + Id interface{} `json:"Id"` + + // ProductArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-relatedfinding.html#cfn-securityhub-automationrule-relatedfinding-productarn + ProductArn string `json:"ProductArn"` + + // 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 *AutomationRule_RelatedFinding) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.RelatedFinding" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_severityupdate.go b/cloudformation/securityhub/aws-securityhub-automationrule_severityupdate.go new file mode 100644 index 0000000000..7fa1f53af2 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_severityupdate.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_SeverityUpdate AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.SeverityUpdate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-severityupdate.html +type AutomationRule_SeverityUpdate struct { + + // Label AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-severityupdate.html#cfn-securityhub-automationrule-severityupdate-label + Label *string `json:"Label,omitempty"` + + // Normalized AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-severityupdate.html#cfn-securityhub-automationrule-severityupdate-normalized + Normalized *int `json:"Normalized,omitempty"` + + // Product AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-severityupdate.html#cfn-securityhub-automationrule-severityupdate-product + Product *float64 `json:"Product,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 *AutomationRule_SeverityUpdate) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.SeverityUpdate" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_stringfilter.go b/cloudformation/securityhub/aws-securityhub-automationrule_stringfilter.go new file mode 100644 index 0000000000..28b0b2717f --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_stringfilter.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_StringFilter AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.StringFilter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html +type AutomationRule_StringFilter struct { + + // Comparison AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html#cfn-securityhub-automationrule-stringfilter-comparison + Comparison string `json:"Comparison"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html#cfn-securityhub-automationrule-stringfilter-value + Value string `json:"Value"` + + // 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 *AutomationRule_StringFilter) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.StringFilter" +} diff --git a/cloudformation/securityhub/aws-securityhub-automationrule_workflowupdate.go b/cloudformation/securityhub/aws-securityhub-automationrule_workflowupdate.go new file mode 100644 index 0000000000..1b17539103 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-automationrule_workflowupdate.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutomationRule_WorkflowUpdate AWS CloudFormation Resource (AWS::SecurityHub::AutomationRule.WorkflowUpdate) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-workflowupdate.html +type AutomationRule_WorkflowUpdate struct { + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-workflowupdate.html#cfn-securityhub-automationrule-workflowupdate-status + Status string `json:"Status"` + + // 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 *AutomationRule_WorkflowUpdate) AWSCloudFormationType() string { + return "AWS::SecurityHub::AutomationRule.WorkflowUpdate" +} diff --git a/cloudformation/securityhub/aws-securityhub-standard.go b/cloudformation/securityhub/aws-securityhub-standard.go new file mode 100644 index 0000000000..d458b8eb99 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-standard.go @@ -0,0 +1,122 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Standard AWS CloudFormation Resource (AWS::SecurityHub::Standard) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html +type Standard struct { + + // DisabledStandardsControls AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html#cfn-securityhub-standard-disabledstandardscontrols + DisabledStandardsControls []Standard_StandardsControl `json:"DisabledStandardsControls,omitempty"` + + // StandardsArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html#cfn-securityhub-standard-standardsarn + StandardsArn string `json:"StandardsArn"` + + // 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 *Standard) AWSCloudFormationType() string { + return "AWS::SecurityHub::Standard" +} + +// 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 Standard) MarshalJSON() ([]byte, error) { + type Properties Standard + 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 *Standard) UnmarshalJSON(b []byte) error { + type Properties Standard + 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 = Standard(*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/securityhub/aws-securityhub-standard_standardscontrol.go b/cloudformation/securityhub/aws-securityhub-standard_standardscontrol.go new file mode 100644 index 0000000000..e8d2faafe4 --- /dev/null +++ b/cloudformation/securityhub/aws-securityhub-standard_standardscontrol.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package securityhub + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Standard_StandardsControl AWS CloudFormation Resource (AWS::SecurityHub::Standard.StandardsControl) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-standard-standardscontrol.html +type Standard_StandardsControl struct { + + // Reason AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-standard-standardscontrol.html#cfn-securityhub-standard-standardscontrol-reason + Reason *string `json:"Reason,omitempty"` + + // StandardsControlArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-standard-standardscontrol.html#cfn-securityhub-standard-standardscontrol-standardscontrolarn + StandardsControlArn string `json:"StandardsControlArn"` + + // 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 *Standard_StandardsControl) AWSCloudFormationType() string { + return "AWS::SecurityHub::Standard.StandardsControl" +} diff --git a/schema/cdk.go b/schema/cdk.go index 799cac042c..9247d8dd9b 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -22981,7 +22981,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -23016,34 +23016,31 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { + "CreatorDisplayName": { "type": "string" }, - "InstanceType": { - "type": "string" + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata" }, - "OwnerArn": { + "Description": { "type": "string" }, - "Repositories": { + "Members": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" }, "type": "array" }, - "SubnetId": { + "Name": { + "type": "string" + }, + "QueryLogStatus": { "type": "string" }, "Tags": { @@ -23054,13 +23051,18 @@ var CdkSchema = `{ } }, "required": [ - "InstanceType" + "CreatorDisplayName", + "CreatorMemberAbilities", + "Description", + "Members", + "Name", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -23079,23 +23081,54 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "PathComponent": { + "AllowCleartext": { + "type": "boolean" + }, + "AllowDuplicates": { + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "type": "boolean" + }, + "PreserveNulls": { + "type": "boolean" + } + }, + "required": [ + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "RepositoryUrl": { + "DisplayName": { "type": "string" + }, + "MemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "AccountId", + "DisplayName", + "MemberAbilities" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -23130,18 +23163,48 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ServiceToken": { + "AllowedColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalysisMethod": { "type": "string" + }, + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ServiceToken" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -23160,7 +23223,182 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "ColumnNames", + "Function" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Minimum": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "Minimum", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Policy", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "type": "array" + }, + "DimensionColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinRequired": { + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "JoinColumns", + "ListColumns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -23195,21 +23433,39 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "ConfiguredTableIdentifier": { "type": "string" }, - "TypeVersionArn": { + "Description": { "type": "string" }, - "VersionId": { + "MembershipIdentifier": { "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -23223,11 +23479,12 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -23262,27 +23519,28 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { + "CollaborationIdentifier": { "type": "string" }, - "ConfigurationAlias": { + "QueryLogStatus": { "type": "string" }, - "TypeArn": { - "type": "string" - }, - "TypeName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Configuration" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -23301,7 +23559,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -23336,28 +23594,51 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" + "Description": { + "type": "string" }, - "SchemaHandlerPackage": { + "ImageId": { "type": "string" }, - "TypeName": { + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -23376,19 +23657,23 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PathComponent": { "type": "string" }, - "LogRoleArn": { + "RepositoryUrl": { "type": "string" } }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -23423,31 +23708,18 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { + "ServiceToken": { "type": "string" } }, "required": [ - "FunctionName", - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -23466,7 +23738,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23501,10 +23773,10 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arn": { + "TypeName": { "type": "string" }, - "ModuleName": { + "TypeVersionArn": { "type": "string" }, "VersionId": { @@ -23515,7 +23787,7 @@ var CdkSchema = `{ }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -23533,7 +23805,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -23568,22 +23840,27 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ModuleName": { + "Configuration": { "type": "string" }, - "ModulePackage": { + "ConfigurationAlias": { + "type": "string" + }, + "TypeArn": { + "type": "string" + }, + "TypeName": { "type": "string" } }, "required": [ - "ModuleName", - "ModulePackage" + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::CloudFormation::HookTypeConfig" ], "type": "string" }, @@ -23602,7 +23879,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CloudFormation::HookVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23637,27 +23914,28 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "LogDeliveryBucket": { + "ExecutionRoleArn": { "type": "string" }, - "PublicVersionNumber": { - "type": "string" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" }, - "Type": { + "SchemaHandlerPackage": { "type": "string" }, "TypeName": { "type": "string" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CloudFormation::HookVersion" ], "type": "string" }, @@ -23671,11 +23949,24 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { "additionalProperties": false, "properties": { "Condition": { @@ -23710,21 +24001,31 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "type": "boolean" + "Description": { + "type": "string" }, - "ConnectionArn": { + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "AcceptTermsAndConditions" + "FunctionName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CloudFormation::Macro" ], "type": "string" }, @@ -23743,7 +24044,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23778,10 +24079,10 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "Arn": { "type": "string" }, - "TypeVersionArn": { + "ModuleName": { "type": "string" }, "VersionId": { @@ -23792,7 +24093,7 @@ var CdkSchema = `{ }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -23810,7 +24111,284 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::ModuleVersion": { + "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": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "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": { + "Arn": { + "type": "string" + }, + "LogDeliveryBucket": { + "type": "string" + }, + "PublicVersionNumber": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::Publisher": { + "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": { + "AcceptTermsAndConditions": { + "type": "boolean" + }, + "ConnectionArn": { + "type": "string" + } + }, + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -36974,6 +37552,101 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::CustomerProfiles::EventStream": { + "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": { + "DomainName": { + "type": "string" + }, + "EventStreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "EventStreamName", + "Uri" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { @@ -44951,7 +45624,6 @@ var CdkSchema = `{ } }, "required": [ - "AttributeName", "Enabled" ], "type": "object" @@ -79656,6 +80328,9 @@ var CdkSchema = `{ "Name": { "type": "string" }, + "Preset": { + "type": "string" + }, "RecordingConfigurationArn": { "type": "string" }, @@ -108438,7 +109113,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::MediaConnect::Flow": { + "AWS::MediaConnect::Bridge": { "additionalProperties": false, "properties": { "Condition": { @@ -108473,28 +109148,44 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" + "EgressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.EgressGatewayBridge" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.IngressGatewayBridge" }, "Name": { "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeOutput" + }, + "type": "array" + }, + "PlacementArn": { + "type": "string" }, "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.FailoverConfig" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeSource" + }, + "type": "array" } }, "required": [ "Name", - "Source" + "PlacementArn", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaConnect::Bridge" ], "type": "string" }, @@ -108513,136 +109204,599 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::MediaConnect::Flow.Encryption": { + "AWS::MediaConnect::Bridge.BridgeFlowSource": { "additionalProperties": false, "properties": { - "Algorithm": { + "FlowArn": { "type": "string" }, - "ConstantInitializationVector": { + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { "type": "string" }, - "DeviceId": { + "Name": { "type": "string" }, - "KeyType": { + "NetworkName": { "type": "string" }, - "Region": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" }, - "ResourceId": { + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "Name", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SecretArn": { + "NetworkName": { "type": "string" }, - "Url": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" } }, "required": [ - "RoleArn" + "MulticastIp", + "Name", + "NetworkName", + "Port", + "Protocol" ], "type": "object" }, - "AWS::MediaConnect::Flow.FailoverConfig": { + "AWS::MediaConnect::Bridge.BridgeOutput": { "additionalProperties": false, "properties": { - "FailoverMode": { - "type": "string" + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkOutput" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeFlowSource" }, - "RecoveryWindow": { + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkSource" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { "type": "number" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" }, "SourcePriority": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.SourcePriority" }, "State": { "type": "string" } }, + "required": [ + "FailoverMode" + ], "type": "object" }, - "AWS::MediaConnect::Flow.Source": { + "AWS::MediaConnect::Bridge.IngressGatewayBridge": { "additionalProperties": false, "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, "MaxBitrate": { "type": "number" }, - "MaxLatency": { - "type": "number" - }, - "MinLatency": { + "MaxOutputs": { "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SenderControlPort": { - "type": "number" - }, - "SenderIpAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceIngestPort": { - "type": "string" - }, - "SourceListenerAddress": { - "type": "string" - }, - "SourceListenerPort": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" } }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], "type": "object" }, - "AWS::MediaConnect::Flow.SourcePriority": { + "AWS::MediaConnect::Bridge.SourcePriority": { "additionalProperties": false, "properties": { "PrimarySource": { "type": "string" } }, - "required": [ - "PrimarySource" - ], "type": "object" }, - "AWS::MediaConnect::FlowEntitlement": { + "AWS::MediaConnect::Bridge.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput": { + "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": { + "BridgeArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" + } + }, + "required": [ + "BridgeArn", + "Name", + "NetworkOutput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource": { + "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": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeNetworkSource" + } + }, + "required": [ + "BridgeArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "MulticastIp", + "NetworkName", + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" + }, + "RecoveryWindow": { + "type": "number" + }, + "SourcePriority": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "MinLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SenderControlPort": { + "type": "number" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "Condition": { @@ -109141,6 +110295,101 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::Gateway": { + "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": { + "EgressCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Networks": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Gateway.GatewayNetwork" + }, + "type": "array" + } + }, + "required": [ + "EgressCidrBlocks", + "Name", + "Networks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Gateway.GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "Name" + ], + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -155651,6 +156900,100 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::RDS::CustomDBEngineVersion": { + "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": { + "DatabaseInstallationFilesS3BucketName": { + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KMSKeyId": { + "type": "string" + }, + "Manifest": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseInstallationFilesS3BucketName", + "Engine", + "EngineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::CustomDBEngineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { @@ -177802,30 +179145,867 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotateImmediatelyOnUpdate": { - "type": "boolean" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "SuperuserSecretArn": { + "type": "string" + }, + "SuperuserSecretKmsKeyArn": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "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": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "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": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule": { + "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": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesAction" + }, + "type": "array" + }, + "Criteria": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" + }, + "Description": { + "type": "string" + }, + "IsTerminal": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + }, + "RuleOrder": { + "type": "number" + }, + "RuleStatus": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::AutomationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesAction": { + "additionalProperties": false, + "properties": { + "FindingFieldsUpdate": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "FindingFieldsUpdate", + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate": { + "additionalProperties": false, + "properties": { + "Confidence": { + "type": "number" + }, + "Criticality": { + "type": "number" + }, + "Note": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NoteUpdate" + }, + "RelatedFindings": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.RelatedFinding" + }, + "type": "array" + }, + "Severity": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.SeverityUpdate" + }, + "Types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserDefinedFields": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "VerificationState": { + "type": "string" + }, + "Workflow": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.WorkflowUpdate" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NoteUpdate": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + }, + "UpdatedBy": { + "type": "object" + } + }, + "required": [ + "Text", + "UpdatedBy" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.RelatedFinding": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "object" + }, + "ProductArn": { + "type": "string" + } + }, + "required": [ + "Id", + "ProductArn" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.SeverityUpdate": { + "additionalProperties": false, + "properties": { + "Label": { + "type": "string" + }, + "Normalized": { + "type": "number" + }, + "Product": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.WorkflowUpdate": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "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": { + "Tags": { + "type": "object" } }, - "required": [ - "SecretId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -177839,69 +180019,11 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "SuperuserSecretArn": { - "type": "string" - }, - "SuperuserSecretKmsKeyArn": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" + "Type" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - }, - "Duration": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { "Condition": { @@ -177936,162 +180058,24 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "DisabledStandardsControls": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" }, - "TargetId": { - "type": "string" - }, - "TargetType": { + "StandardsArn": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "StandardsArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::SecurityHub::Standard" ], "type": "string" }, @@ -178110,64 +180094,18 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::SecurityHub::Standard.StandardsControl": { "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": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], + "Reason": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StandardsControlArn": { "type": "string" } }, "required": [ - "Type" + "StandardsControlArn" ], "type": "object" }, @@ -190531,6 +192469,18 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" }, + { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::Membership" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -190834,6 +192784,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Integration" }, @@ -192235,6 +194188,15 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Bridge" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource" + }, { "$ref": "#/definitions/AWS::MediaConnect::Flow" }, @@ -192250,6 +194212,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Gateway" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -192607,6 +194572,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, + { + "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" + }, { "$ref": "#/definitions/AWS::RDS::DBCluster" }, @@ -193063,9 +195031,15 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" }, + { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Standard" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index ddf3790ff1..2b4b84781e 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -22976,7 +22976,7 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -23011,34 +23011,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { + "CreatorDisplayName": { "type": "string" }, - "InstanceType": { - "type": "string" + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata" }, - "OwnerArn": { + "Description": { "type": "string" }, - "Repositories": { + "Members": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" }, "type": "array" }, - "SubnetId": { + "Name": { + "type": "string" + }, + "QueryLogStatus": { "type": "string" }, "Tags": { @@ -23049,13 +23046,18 @@ } }, "required": [ - "InstanceType" + "CreatorDisplayName", + "CreatorMemberAbilities", + "Description", + "Members", + "Name", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -23074,23 +23076,54 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "PathComponent": { + "AllowCleartext": { + "type": "boolean" + }, + "AllowDuplicates": { + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "type": "boolean" + }, + "PreserveNulls": { + "type": "boolean" + } + }, + "required": [ + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "RepositoryUrl": { + "DisplayName": { "type": "string" + }, + "MemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "AccountId", + "DisplayName", + "MemberAbilities" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -23125,18 +23158,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ServiceToken": { + "AllowedColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalysisMethod": { "type": "string" + }, + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ServiceToken" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -23155,7 +23218,182 @@ ], "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "ColumnNames", + "Function" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Minimum": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "Minimum", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Policy", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "type": "array" + }, + "DimensionColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinRequired": { + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "JoinColumns", + "ListColumns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -23190,21 +23428,39 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "ConfiguredTableIdentifier": { "type": "string" }, - "TypeVersionArn": { + "Description": { "type": "string" }, - "VersionId": { + "MembershipIdentifier": { "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -23218,11 +23474,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -23257,27 +23514,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { + "CollaborationIdentifier": { "type": "string" }, - "ConfigurationAlias": { + "QueryLogStatus": { "type": "string" }, - "TypeArn": { - "type": "string" - }, - "TypeName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Configuration" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -23296,7 +23554,7 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -23331,28 +23589,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" + "Description": { + "type": "string" }, - "SchemaHandlerPackage": { + "ImageId": { "type": "string" }, - "TypeName": { + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -23371,19 +23652,23 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PathComponent": { "type": "string" }, - "LogRoleArn": { + "RepositoryUrl": { "type": "string" } }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -23418,31 +23703,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { + "ServiceToken": { "type": "string" } }, "required": [ - "FunctionName", - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -23461,7 +23733,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23496,10 +23768,10 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { + "TypeName": { "type": "string" }, - "ModuleName": { + "TypeVersionArn": { "type": "string" }, "VersionId": { @@ -23510,7 +23782,7 @@ }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -23528,7 +23800,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -23563,22 +23835,27 @@ "Properties": { "additionalProperties": false, "properties": { - "ModuleName": { + "Configuration": { "type": "string" }, - "ModulePackage": { + "ConfigurationAlias": { + "type": "string" + }, + "TypeArn": { + "type": "string" + }, + "TypeName": { "type": "string" } }, "required": [ - "ModuleName", - "ModulePackage" + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::CloudFormation::HookTypeConfig" ], "type": "string" }, @@ -23597,7 +23874,7 @@ ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CloudFormation::HookVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23632,27 +23909,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "LogDeliveryBucket": { + "ExecutionRoleArn": { "type": "string" }, - "PublicVersionNumber": { - "type": "string" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" }, - "Type": { + "SchemaHandlerPackage": { "type": "string" }, "TypeName": { "type": "string" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CloudFormation::HookVersion" ], "type": "string" }, @@ -23666,11 +23944,24 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { "additionalProperties": false, "properties": { "Condition": { @@ -23705,21 +23996,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "type": "boolean" + "Description": { + "type": "string" }, - "ConnectionArn": { + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "AcceptTermsAndConditions" + "FunctionName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CloudFormation::Macro" ], "type": "string" }, @@ -23738,7 +24039,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23773,10 +24074,10 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "Arn": { "type": "string" }, - "TypeVersionArn": { + "ModuleName": { "type": "string" }, "VersionId": { @@ -23787,7 +24088,7 @@ }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -23805,7 +24106,284 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::ModuleVersion": { + "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": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "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": { + "Arn": { + "type": "string" + }, + "LogDeliveryBucket": { + "type": "string" + }, + "PublicVersionNumber": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::Publisher": { + "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": { + "AcceptTermsAndConditions": { + "type": "boolean" + }, + "ConnectionArn": { + "type": "string" + } + }, + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -36969,6 +37547,101 @@ ], "type": "object" }, + "AWS::CustomerProfiles::EventStream": { + "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": { + "DomainName": { + "type": "string" + }, + "EventStreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "EventStreamName", + "Uri" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { @@ -44946,7 +45619,6 @@ } }, "required": [ - "AttributeName", "Enabled" ], "type": "object" @@ -79651,6 +80323,9 @@ "Name": { "type": "string" }, + "Preset": { + "type": "string" + }, "RecordingConfigurationArn": { "type": "string" }, @@ -108433,7 +109108,7 @@ ], "type": "object" }, - "AWS::MediaConnect::Flow": { + "AWS::MediaConnect::Bridge": { "additionalProperties": false, "properties": { "Condition": { @@ -108468,28 +109143,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" + "EgressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.EgressGatewayBridge" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.IngressGatewayBridge" }, "Name": { "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeOutput" + }, + "type": "array" + }, + "PlacementArn": { + "type": "string" }, "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.FailoverConfig" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeSource" + }, + "type": "array" } }, "required": [ "Name", - "Source" + "PlacementArn", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaConnect::Bridge" ], "type": "string" }, @@ -108508,136 +109199,599 @@ ], "type": "object" }, - "AWS::MediaConnect::Flow.Encryption": { + "AWS::MediaConnect::Bridge.BridgeFlowSource": { "additionalProperties": false, "properties": { - "Algorithm": { + "FlowArn": { "type": "string" }, - "ConstantInitializationVector": { + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { "type": "string" }, - "DeviceId": { + "Name": { "type": "string" }, - "KeyType": { + "NetworkName": { "type": "string" }, - "Region": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" }, - "ResourceId": { + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "Name", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SecretArn": { + "NetworkName": { "type": "string" }, - "Url": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" } }, "required": [ - "RoleArn" + "MulticastIp", + "Name", + "NetworkName", + "Port", + "Protocol" ], "type": "object" }, - "AWS::MediaConnect::Flow.FailoverConfig": { + "AWS::MediaConnect::Bridge.BridgeOutput": { "additionalProperties": false, "properties": { - "FailoverMode": { - "type": "string" + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkOutput" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeFlowSource" }, - "RecoveryWindow": { + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkSource" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { "type": "number" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" }, "SourcePriority": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.SourcePriority" }, "State": { "type": "string" } }, + "required": [ + "FailoverMode" + ], "type": "object" }, - "AWS::MediaConnect::Flow.Source": { + "AWS::MediaConnect::Bridge.IngressGatewayBridge": { "additionalProperties": false, "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, "MaxBitrate": { "type": "number" }, - "MaxLatency": { - "type": "number" - }, - "MinLatency": { + "MaxOutputs": { "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SenderControlPort": { - "type": "number" - }, - "SenderIpAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceIngestPort": { - "type": "string" - }, - "SourceListenerAddress": { - "type": "string" - }, - "SourceListenerPort": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" } }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], "type": "object" }, - "AWS::MediaConnect::Flow.SourcePriority": { + "AWS::MediaConnect::Bridge.SourcePriority": { "additionalProperties": false, "properties": { "PrimarySource": { "type": "string" } }, - "required": [ - "PrimarySource" - ], "type": "object" }, - "AWS::MediaConnect::FlowEntitlement": { + "AWS::MediaConnect::Bridge.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput": { + "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": { + "BridgeArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" + } + }, + "required": [ + "BridgeArn", + "Name", + "NetworkOutput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource": { + "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": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeNetworkSource" + } + }, + "required": [ + "BridgeArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "MulticastIp", + "NetworkName", + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" + }, + "RecoveryWindow": { + "type": "number" + }, + "SourcePriority": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "MinLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SenderControlPort": { + "type": "number" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "Condition": { @@ -109136,6 +110290,101 @@ ], "type": "object" }, + "AWS::MediaConnect::Gateway": { + "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": { + "EgressCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Networks": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Gateway.GatewayNetwork" + }, + "type": "array" + } + }, + "required": [ + "EgressCidrBlocks", + "Name", + "Networks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Gateway.GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "Name" + ], + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -155646,6 +156895,100 @@ ], "type": "object" }, + "AWS::RDS::CustomDBEngineVersion": { + "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": { + "DatabaseInstallationFilesS3BucketName": { + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KMSKeyId": { + "type": "string" + }, + "Manifest": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseInstallationFilesS3BucketName", + "Engine", + "EngineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::CustomDBEngineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { @@ -177797,30 +179140,867 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotateImmediatelyOnUpdate": { - "type": "boolean" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "SuperuserSecretArn": { + "type": "string" + }, + "SuperuserSecretKmsKeyArn": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "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": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "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": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule": { + "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": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesAction" + }, + "type": "array" + }, + "Criteria": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" + }, + "Description": { + "type": "string" + }, + "IsTerminal": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + }, + "RuleOrder": { + "type": "number" + }, + "RuleStatus": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::AutomationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesAction": { + "additionalProperties": false, + "properties": { + "FindingFieldsUpdate": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "FindingFieldsUpdate", + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate": { + "additionalProperties": false, + "properties": { + "Confidence": { + "type": "number" + }, + "Criticality": { + "type": "number" + }, + "Note": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NoteUpdate" + }, + "RelatedFindings": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.RelatedFinding" + }, + "type": "array" + }, + "Severity": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.SeverityUpdate" + }, + "Types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserDefinedFields": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "VerificationState": { + "type": "string" + }, + "Workflow": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.WorkflowUpdate" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NoteUpdate": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + }, + "UpdatedBy": { + "type": "object" + } + }, + "required": [ + "Text", + "UpdatedBy" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.RelatedFinding": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "object" + }, + "ProductArn": { + "type": "string" + } + }, + "required": [ + "Id", + "ProductArn" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.SeverityUpdate": { + "additionalProperties": false, + "properties": { + "Label": { + "type": "string" + }, + "Normalized": { + "type": "number" + }, + "Product": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.WorkflowUpdate": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "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": { + "Tags": { + "type": "object" } }, - "required": [ - "SecretId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -177834,69 +180014,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "SuperuserSecretArn": { - "type": "string" - }, - "SuperuserSecretKmsKeyArn": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" + "Type" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - }, - "Duration": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { "Condition": { @@ -177931,162 +180053,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "DisabledStandardsControls": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" }, - "TargetId": { - "type": "string" - }, - "TargetType": { + "StandardsArn": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "StandardsArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::SecurityHub::Standard" ], "type": "string" }, @@ -178105,64 +180089,18 @@ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::SecurityHub::Standard.StandardsControl": { "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": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], + "Reason": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StandardsControlArn": { "type": "string" } }, "required": [ - "Type" + "StandardsControlArn" ], "type": "object" }, @@ -190526,6 +192464,18 @@ { "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" }, + { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::Membership" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -190829,6 +192779,9 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Integration" }, @@ -192230,6 +194183,15 @@ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Bridge" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource" + }, { "$ref": "#/definitions/AWS::MediaConnect::Flow" }, @@ -192245,6 +194207,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Gateway" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -192602,6 +194567,9 @@ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, + { + "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" + }, { "$ref": "#/definitions/AWS::RDS::DBCluster" }, @@ -193058,9 +195026,15 @@ { "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" }, + { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Standard" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index fc5768af00..58d4898c72 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -22920,7 +22920,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -22955,34 +22955,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { + "CreatorDisplayName": { "type": "string" }, - "InstanceType": { - "type": "string" + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata" }, - "OwnerArn": { + "Description": { "type": "string" }, - "Repositories": { + "Members": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" }, "type": "array" }, - "SubnetId": { + "Name": { + "type": "string" + }, + "QueryLogStatus": { "type": "string" }, "Tags": { @@ -22993,13 +22990,18 @@ var CloudformationSchema = `{ } }, "required": [ - "InstanceType" + "CreatorDisplayName", + "CreatorMemberAbilities", + "Description", + "Members", + "Name", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -23018,23 +23020,54 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "PathComponent": { + "AllowCleartext": { + "type": "boolean" + }, + "AllowDuplicates": { + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "type": "boolean" + }, + "PreserveNulls": { + "type": "boolean" + } + }, + "required": [ + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "RepositoryUrl": { + "DisplayName": { "type": "string" + }, + "MemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "AccountId", + "DisplayName", + "MemberAbilities" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -23069,18 +23102,48 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ServiceToken": { + "AllowedColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalysisMethod": { "type": "string" + }, + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ServiceToken" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -23099,7 +23162,182 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "ColumnNames", + "Function" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Minimum": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "Minimum", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Policy", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "type": "array" + }, + "DimensionColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinRequired": { + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "JoinColumns", + "ListColumns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -23134,21 +23372,39 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "ConfiguredTableIdentifier": { "type": "string" }, - "TypeVersionArn": { + "Description": { "type": "string" }, - "VersionId": { + "MembershipIdentifier": { "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -23162,11 +23418,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -23201,27 +23458,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { + "CollaborationIdentifier": { "type": "string" }, - "ConfigurationAlias": { + "QueryLogStatus": { "type": "string" }, - "TypeArn": { - "type": "string" - }, - "TypeName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Configuration" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -23240,7 +23498,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -23275,28 +23533,51 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" + "Description": { + "type": "string" }, - "SchemaHandlerPackage": { + "ImageId": { "type": "string" }, - "TypeName": { + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -23315,19 +23596,23 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PathComponent": { "type": "string" }, - "LogRoleArn": { + "RepositoryUrl": { "type": "string" } }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -23362,31 +23647,18 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { + "ServiceToken": { "type": "string" } }, "required": [ - "FunctionName", - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -23405,7 +23677,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23440,10 +23712,10 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arn": { + "TypeName": { "type": "string" }, - "ModuleName": { + "TypeVersionArn": { "type": "string" }, "VersionId": { @@ -23454,7 +23726,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -23472,7 +23744,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -23507,22 +23779,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ModuleName": { + "Configuration": { "type": "string" }, - "ModulePackage": { + "ConfigurationAlias": { + "type": "string" + }, + "TypeArn": { + "type": "string" + }, + "TypeName": { "type": "string" } }, "required": [ - "ModuleName", - "ModulePackage" + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::CloudFormation::HookTypeConfig" ], "type": "string" }, @@ -23541,7 +23818,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CloudFormation::HookVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23576,27 +23853,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "LogDeliveryBucket": { + "ExecutionRoleArn": { "type": "string" }, - "PublicVersionNumber": { - "type": "string" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" }, - "Type": { + "SchemaHandlerPackage": { "type": "string" }, "TypeName": { "type": "string" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CloudFormation::HookVersion" ], "type": "string" }, @@ -23610,11 +23888,24 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { "additionalProperties": false, "properties": { "Condition": { @@ -23649,21 +23940,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "type": "boolean" + "Description": { + "type": "string" }, - "ConnectionArn": { + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "AcceptTermsAndConditions" + "FunctionName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CloudFormation::Macro" ], "type": "string" }, @@ -23682,7 +23983,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23717,10 +24018,10 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "Arn": { "type": "string" }, - "TypeVersionArn": { + "ModuleName": { "type": "string" }, "VersionId": { @@ -23731,7 +24032,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -23749,7 +24050,284 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::ModuleVersion": { + "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": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "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": { + "Arn": { + "type": "string" + }, + "LogDeliveryBucket": { + "type": "string" + }, + "PublicVersionNumber": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::Publisher": { + "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": { + "AcceptTermsAndConditions": { + "type": "boolean" + }, + "ConnectionArn": { + "type": "string" + } + }, + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -36913,6 +37491,101 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CustomerProfiles::EventStream": { + "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": { + "DomainName": { + "type": "string" + }, + "EventStreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "EventStreamName", + "Uri" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { @@ -44890,7 +45563,6 @@ var CloudformationSchema = `{ } }, "required": [ - "AttributeName", "Enabled" ], "type": "object" @@ -79595,6 +80267,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "Preset": { + "type": "string" + }, "RecordingConfigurationArn": { "type": "string" }, @@ -108377,7 +109052,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaConnect::Flow": { + "AWS::MediaConnect::Bridge": { "additionalProperties": false, "properties": { "Condition": { @@ -108412,28 +109087,44 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" + "EgressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.EgressGatewayBridge" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.IngressGatewayBridge" }, "Name": { "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeOutput" + }, + "type": "array" + }, + "PlacementArn": { + "type": "string" }, "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.FailoverConfig" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeSource" + }, + "type": "array" } }, "required": [ "Name", - "Source" + "PlacementArn", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaConnect::Bridge" ], "type": "string" }, @@ -108452,136 +109143,599 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::MediaConnect::Flow.Encryption": { + "AWS::MediaConnect::Bridge.BridgeFlowSource": { "additionalProperties": false, "properties": { - "Algorithm": { + "FlowArn": { "type": "string" }, - "ConstantInitializationVector": { + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { "type": "string" }, - "DeviceId": { + "Name": { "type": "string" }, - "KeyType": { + "NetworkName": { "type": "string" }, - "Region": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" }, - "ResourceId": { + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "Name", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SecretArn": { + "NetworkName": { "type": "string" }, - "Url": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" } }, "required": [ - "RoleArn" + "MulticastIp", + "Name", + "NetworkName", + "Port", + "Protocol" ], "type": "object" }, - "AWS::MediaConnect::Flow.FailoverConfig": { + "AWS::MediaConnect::Bridge.BridgeOutput": { "additionalProperties": false, "properties": { - "FailoverMode": { - "type": "string" + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkOutput" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeFlowSource" }, - "RecoveryWindow": { + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkSource" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { "type": "number" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" }, "SourcePriority": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.SourcePriority" }, "State": { "type": "string" } }, + "required": [ + "FailoverMode" + ], "type": "object" }, - "AWS::MediaConnect::Flow.Source": { + "AWS::MediaConnect::Bridge.IngressGatewayBridge": { "additionalProperties": false, "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, "MaxBitrate": { "type": "number" }, - "MaxLatency": { - "type": "number" - }, - "MinLatency": { + "MaxOutputs": { "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SenderControlPort": { - "type": "number" - }, - "SenderIpAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceIngestPort": { - "type": "string" - }, - "SourceListenerAddress": { - "type": "string" - }, - "SourceListenerPort": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" } }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], "type": "object" }, - "AWS::MediaConnect::Flow.SourcePriority": { + "AWS::MediaConnect::Bridge.SourcePriority": { "additionalProperties": false, "properties": { "PrimarySource": { "type": "string" } }, - "required": [ - "PrimarySource" - ], "type": "object" }, - "AWS::MediaConnect::FlowEntitlement": { + "AWS::MediaConnect::Bridge.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput": { + "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": { + "BridgeArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" + } + }, + "required": [ + "BridgeArn", + "Name", + "NetworkOutput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource": { + "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": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeNetworkSource" + } + }, + "required": [ + "BridgeArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "MulticastIp", + "NetworkName", + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" + }, + "RecoveryWindow": { + "type": "number" + }, + "SourcePriority": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "MinLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SenderControlPort": { + "type": "number" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "Condition": { @@ -109080,6 +110234,101 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::Gateway": { + "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": { + "EgressCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Networks": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Gateway.GatewayNetwork" + }, + "type": "array" + } + }, + "required": [ + "EgressCidrBlocks", + "Name", + "Networks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Gateway.GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "Name" + ], + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -155590,6 +156839,100 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::RDS::CustomDBEngineVersion": { + "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": { + "DatabaseInstallationFilesS3BucketName": { + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KMSKeyId": { + "type": "string" + }, + "Manifest": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseInstallationFilesS3BucketName", + "Engine", + "EngineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::CustomDBEngineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { @@ -177741,30 +179084,867 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotateImmediatelyOnUpdate": { - "type": "boolean" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "SuperuserSecretArn": { + "type": "string" + }, + "SuperuserSecretKmsKeyArn": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "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": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "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": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule": { + "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": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesAction" + }, + "type": "array" + }, + "Criteria": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" + }, + "Description": { + "type": "string" + }, + "IsTerminal": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + }, + "RuleOrder": { + "type": "number" + }, + "RuleStatus": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::AutomationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesAction": { + "additionalProperties": false, + "properties": { + "FindingFieldsUpdate": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "FindingFieldsUpdate", + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate": { + "additionalProperties": false, + "properties": { + "Confidence": { + "type": "number" + }, + "Criticality": { + "type": "number" + }, + "Note": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NoteUpdate" + }, + "RelatedFindings": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.RelatedFinding" + }, + "type": "array" + }, + "Severity": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.SeverityUpdate" + }, + "Types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserDefinedFields": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "VerificationState": { + "type": "string" + }, + "Workflow": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.WorkflowUpdate" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NoteUpdate": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + }, + "UpdatedBy": { + "type": "object" + } + }, + "required": [ + "Text", + "UpdatedBy" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.RelatedFinding": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "object" + }, + "ProductArn": { + "type": "string" + } + }, + "required": [ + "Id", + "ProductArn" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.SeverityUpdate": { + "additionalProperties": false, + "properties": { + "Label": { + "type": "string" + }, + "Normalized": { + "type": "number" + }, + "Product": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.WorkflowUpdate": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "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": { + "Tags": { + "type": "object" } }, - "required": [ - "SecretId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -177778,69 +179958,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "SuperuserSecretArn": { - "type": "string" - }, - "SuperuserSecretKmsKeyArn": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" + "Type" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - }, - "Duration": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { "Condition": { @@ -177875,162 +179997,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "DisabledStandardsControls": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" }, - "TargetId": { - "type": "string" - }, - "TargetType": { + "StandardsArn": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "StandardsArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::SecurityHub::Standard" ], "type": "string" }, @@ -178049,64 +180033,18 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::SecurityHub::Standard.StandardsControl": { "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": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], + "Reason": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StandardsControlArn": { "type": "string" } }, "required": [ - "Type" + "StandardsControlArn" ], "type": "object" }, @@ -190467,6 +192405,18 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" }, + { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::Membership" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -190770,6 +192720,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Integration" }, @@ -192171,6 +194124,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Bridge" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource" + }, { "$ref": "#/definitions/AWS::MediaConnect::Flow" }, @@ -192186,6 +194148,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Gateway" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -192543,6 +194508,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, + { + "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" + }, { "$ref": "#/definitions/AWS::RDS::DBCluster" }, @@ -192999,9 +194967,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" }, + { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Standard" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 5d0a1055cb..134fcdfeea 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -22915,7 +22915,7 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -22950,34 +22950,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { + "CreatorDisplayName": { "type": "string" }, - "InstanceType": { - "type": "string" + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata" }, - "OwnerArn": { + "Description": { "type": "string" }, - "Repositories": { + "Members": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" }, "type": "array" }, - "SubnetId": { + "Name": { + "type": "string" + }, + "QueryLogStatus": { "type": "string" }, "Tags": { @@ -22988,13 +22985,18 @@ } }, "required": [ - "InstanceType" + "CreatorDisplayName", + "CreatorMemberAbilities", + "Description", + "Members", + "Name", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -23013,23 +23015,54 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "PathComponent": { + "AllowCleartext": { + "type": "boolean" + }, + "AllowDuplicates": { + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "type": "boolean" + }, + "PreserveNulls": { + "type": "boolean" + } + }, + "required": [ + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "RepositoryUrl": { + "DisplayName": { "type": "string" + }, + "MemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "AccountId", + "DisplayName", + "MemberAbilities" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -23064,18 +23097,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ServiceToken": { + "AllowedColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalysisMethod": { "type": "string" + }, + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ServiceToken" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -23094,7 +23157,182 @@ ], "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "ColumnNames", + "Function" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Minimum": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "Minimum", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Policy", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "type": "array" + }, + "DimensionColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinRequired": { + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "JoinColumns", + "ListColumns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -23129,21 +23367,39 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "ConfiguredTableIdentifier": { "type": "string" }, - "TypeVersionArn": { + "Description": { "type": "string" }, - "VersionId": { + "MembershipIdentifier": { "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -23157,11 +23413,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -23196,27 +23453,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { + "CollaborationIdentifier": { "type": "string" }, - "ConfigurationAlias": { + "QueryLogStatus": { "type": "string" }, - "TypeArn": { - "type": "string" - }, - "TypeName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Configuration" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -23235,7 +23493,7 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -23270,28 +23528,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" + "Description": { + "type": "string" }, - "SchemaHandlerPackage": { + "ImageId": { "type": "string" }, - "TypeName": { + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -23310,19 +23591,23 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PathComponent": { "type": "string" }, - "LogRoleArn": { + "RepositoryUrl": { "type": "string" } }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -23357,31 +23642,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { + "ServiceToken": { "type": "string" } }, "required": [ - "FunctionName", - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -23400,7 +23672,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23435,10 +23707,10 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { + "TypeName": { "type": "string" }, - "ModuleName": { + "TypeVersionArn": { "type": "string" }, "VersionId": { @@ -23449,7 +23721,7 @@ }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -23467,7 +23739,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -23502,22 +23774,27 @@ "Properties": { "additionalProperties": false, "properties": { - "ModuleName": { + "Configuration": { "type": "string" }, - "ModulePackage": { + "ConfigurationAlias": { + "type": "string" + }, + "TypeArn": { + "type": "string" + }, + "TypeName": { "type": "string" } }, "required": [ - "ModuleName", - "ModulePackage" + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::CloudFormation::HookTypeConfig" ], "type": "string" }, @@ -23536,7 +23813,7 @@ ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CloudFormation::HookVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23571,27 +23848,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "LogDeliveryBucket": { + "ExecutionRoleArn": { "type": "string" }, - "PublicVersionNumber": { - "type": "string" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" }, - "Type": { + "SchemaHandlerPackage": { "type": "string" }, "TypeName": { "type": "string" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CloudFormation::HookVersion" ], "type": "string" }, @@ -23605,11 +23883,24 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { "additionalProperties": false, "properties": { "Condition": { @@ -23644,21 +23935,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "type": "boolean" + "Description": { + "type": "string" }, - "ConnectionArn": { + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "AcceptTermsAndConditions" + "FunctionName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CloudFormation::Macro" ], "type": "string" }, @@ -23677,7 +23978,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23712,10 +24013,10 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "Arn": { "type": "string" }, - "TypeVersionArn": { + "ModuleName": { "type": "string" }, "VersionId": { @@ -23726,7 +24027,7 @@ }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -23744,7 +24045,284 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::ModuleVersion": { + "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": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "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": { + "Arn": { + "type": "string" + }, + "LogDeliveryBucket": { + "type": "string" + }, + "PublicVersionNumber": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::Publisher": { + "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": { + "AcceptTermsAndConditions": { + "type": "boolean" + }, + "ConnectionArn": { + "type": "string" + } + }, + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -36908,6 +37486,101 @@ ], "type": "object" }, + "AWS::CustomerProfiles::EventStream": { + "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": { + "DomainName": { + "type": "string" + }, + "EventStreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "EventStreamName", + "Uri" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { @@ -44885,7 +45558,6 @@ } }, "required": [ - "AttributeName", "Enabled" ], "type": "object" @@ -79590,6 +80262,9 @@ "Name": { "type": "string" }, + "Preset": { + "type": "string" + }, "RecordingConfigurationArn": { "type": "string" }, @@ -108372,7 +109047,7 @@ ], "type": "object" }, - "AWS::MediaConnect::Flow": { + "AWS::MediaConnect::Bridge": { "additionalProperties": false, "properties": { "Condition": { @@ -108407,28 +109082,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" + "EgressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.EgressGatewayBridge" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.IngressGatewayBridge" }, "Name": { "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeOutput" + }, + "type": "array" + }, + "PlacementArn": { + "type": "string" }, "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.FailoverConfig" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeSource" + }, + "type": "array" } }, "required": [ "Name", - "Source" + "PlacementArn", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaConnect::Bridge" ], "type": "string" }, @@ -108447,136 +109138,599 @@ ], "type": "object" }, - "AWS::MediaConnect::Flow.Encryption": { + "AWS::MediaConnect::Bridge.BridgeFlowSource": { "additionalProperties": false, "properties": { - "Algorithm": { + "FlowArn": { "type": "string" }, - "ConstantInitializationVector": { + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { "type": "string" }, - "DeviceId": { + "Name": { "type": "string" }, - "KeyType": { + "NetworkName": { "type": "string" }, - "Region": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" }, - "ResourceId": { + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "Name", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SecretArn": { + "NetworkName": { "type": "string" }, - "Url": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" } }, "required": [ - "RoleArn" + "MulticastIp", + "Name", + "NetworkName", + "Port", + "Protocol" ], "type": "object" }, - "AWS::MediaConnect::Flow.FailoverConfig": { + "AWS::MediaConnect::Bridge.BridgeOutput": { "additionalProperties": false, "properties": { - "FailoverMode": { - "type": "string" + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkOutput" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeFlowSource" }, - "RecoveryWindow": { + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkSource" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { "type": "number" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" }, "SourcePriority": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.SourcePriority" }, "State": { "type": "string" } }, + "required": [ + "FailoverMode" + ], "type": "object" }, - "AWS::MediaConnect::Flow.Source": { + "AWS::MediaConnect::Bridge.IngressGatewayBridge": { "additionalProperties": false, "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, "MaxBitrate": { "type": "number" }, - "MaxLatency": { - "type": "number" - }, - "MinLatency": { + "MaxOutputs": { "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SenderControlPort": { - "type": "number" - }, - "SenderIpAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceIngestPort": { - "type": "string" - }, - "SourceListenerAddress": { - "type": "string" - }, - "SourceListenerPort": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" } }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], "type": "object" }, - "AWS::MediaConnect::Flow.SourcePriority": { + "AWS::MediaConnect::Bridge.SourcePriority": { "additionalProperties": false, "properties": { "PrimarySource": { "type": "string" } }, - "required": [ - "PrimarySource" - ], "type": "object" }, - "AWS::MediaConnect::FlowEntitlement": { + "AWS::MediaConnect::Bridge.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput": { + "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": { + "BridgeArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" + } + }, + "required": [ + "BridgeArn", + "Name", + "NetworkOutput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource": { + "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": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeNetworkSource" + } + }, + "required": [ + "BridgeArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "MulticastIp", + "NetworkName", + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" + }, + "RecoveryWindow": { + "type": "number" + }, + "SourcePriority": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "MinLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SenderControlPort": { + "type": "number" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "Condition": { @@ -109075,6 +110229,101 @@ ], "type": "object" }, + "AWS::MediaConnect::Gateway": { + "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": { + "EgressCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Networks": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Gateway.GatewayNetwork" + }, + "type": "array" + } + }, + "required": [ + "EgressCidrBlocks", + "Name", + "Networks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Gateway.GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "Name" + ], + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -155585,6 +156834,100 @@ ], "type": "object" }, + "AWS::RDS::CustomDBEngineVersion": { + "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": { + "DatabaseInstallationFilesS3BucketName": { + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KMSKeyId": { + "type": "string" + }, + "Manifest": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseInstallationFilesS3BucketName", + "Engine", + "EngineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::CustomDBEngineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { @@ -177736,30 +179079,867 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotateImmediatelyOnUpdate": { - "type": "boolean" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "SuperuserSecretArn": { + "type": "string" + }, + "SuperuserSecretKmsKeyArn": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "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": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "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": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule": { + "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": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesAction" + }, + "type": "array" + }, + "Criteria": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" + }, + "Description": { + "type": "string" + }, + "IsTerminal": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + }, + "RuleOrder": { + "type": "number" + }, + "RuleStatus": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::AutomationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesAction": { + "additionalProperties": false, + "properties": { + "FindingFieldsUpdate": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "FindingFieldsUpdate", + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate": { + "additionalProperties": false, + "properties": { + "Confidence": { + "type": "number" + }, + "Criticality": { + "type": "number" + }, + "Note": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NoteUpdate" + }, + "RelatedFindings": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.RelatedFinding" + }, + "type": "array" + }, + "Severity": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.SeverityUpdate" + }, + "Types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserDefinedFields": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "VerificationState": { + "type": "string" + }, + "Workflow": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.WorkflowUpdate" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NoteUpdate": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + }, + "UpdatedBy": { + "type": "object" + } + }, + "required": [ + "Text", + "UpdatedBy" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.RelatedFinding": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "object" + }, + "ProductArn": { + "type": "string" + } + }, + "required": [ + "Id", + "ProductArn" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.SeverityUpdate": { + "additionalProperties": false, + "properties": { + "Label": { + "type": "string" + }, + "Normalized": { + "type": "number" + }, + "Product": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.WorkflowUpdate": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "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": { + "Tags": { + "type": "object" } }, - "required": [ - "SecretId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -177773,69 +179953,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "SuperuserSecretArn": { - "type": "string" - }, - "SuperuserSecretKmsKeyArn": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" + "Type" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - }, - "Duration": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { "Condition": { @@ -177870,162 +179992,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "DisabledStandardsControls": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" }, - "TargetId": { - "type": "string" - }, - "TargetType": { + "StandardsArn": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "StandardsArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::SecurityHub::Standard" ], "type": "string" }, @@ -178044,64 +180028,18 @@ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::SecurityHub::Standard.StandardsControl": { "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": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], + "Reason": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StandardsControlArn": { "type": "string" } }, "required": [ - "Type" + "StandardsControlArn" ], "type": "object" }, @@ -190462,6 +192400,18 @@ { "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" }, + { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::Membership" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -190765,6 +192715,9 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Integration" }, @@ -192166,6 +194119,15 @@ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Bridge" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource" + }, { "$ref": "#/definitions/AWS::MediaConnect::Flow" }, @@ -192181,6 +194143,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Gateway" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -192538,6 +194503,9 @@ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, + { + "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" + }, { "$ref": "#/definitions/AWS::RDS::DBCluster" }, @@ -192994,9 +194962,15 @@ { "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" }, + { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Standard" + }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, diff --git a/schema/sam.go b/schema/sam.go index 07d86571f5..47e1ef4826 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -22920,7 +22920,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -22955,34 +22955,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { + "CreatorDisplayName": { "type": "string" }, - "InstanceType": { - "type": "string" + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata" }, - "OwnerArn": { + "Description": { "type": "string" }, - "Repositories": { + "Members": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" }, "type": "array" }, - "SubnetId": { + "Name": { + "type": "string" + }, + "QueryLogStatus": { "type": "string" }, "Tags": { @@ -22993,13 +22990,18 @@ var SamSchema = `{ } }, "required": [ - "InstanceType" + "CreatorDisplayName", + "CreatorMemberAbilities", + "Description", + "Members", + "Name", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -23018,23 +23020,54 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "PathComponent": { + "AllowCleartext": { + "type": "boolean" + }, + "AllowDuplicates": { + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "type": "boolean" + }, + "PreserveNulls": { + "type": "boolean" + } + }, + "required": [ + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "RepositoryUrl": { + "DisplayName": { "type": "string" + }, + "MemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "AccountId", + "DisplayName", + "MemberAbilities" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -23069,18 +23102,48 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ServiceToken": { + "AllowedColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalysisMethod": { "type": "string" + }, + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ServiceToken" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -23099,7 +23162,182 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "ColumnNames", + "Function" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Minimum": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "Minimum", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Policy", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "type": "array" + }, + "DimensionColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinRequired": { + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "JoinColumns", + "ListColumns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -23134,21 +23372,39 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "ConfiguredTableIdentifier": { "type": "string" }, - "TypeVersionArn": { + "Description": { "type": "string" }, - "VersionId": { + "MembershipIdentifier": { "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -23162,11 +23418,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -23201,27 +23458,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { + "CollaborationIdentifier": { "type": "string" }, - "ConfigurationAlias": { + "QueryLogStatus": { "type": "string" }, - "TypeArn": { - "type": "string" - }, - "TypeName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Configuration" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -23240,7 +23498,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -23275,28 +23533,51 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" + "Description": { + "type": "string" }, - "SchemaHandlerPackage": { + "ImageId": { "type": "string" }, - "TypeName": { + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -23315,19 +23596,23 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PathComponent": { "type": "string" }, - "LogRoleArn": { + "RepositoryUrl": { "type": "string" } }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -23362,31 +23647,18 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { + "ServiceToken": { "type": "string" } }, "required": [ - "FunctionName", - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -23405,7 +23677,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23440,10 +23712,10 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arn": { + "TypeName": { "type": "string" }, - "ModuleName": { + "TypeVersionArn": { "type": "string" }, "VersionId": { @@ -23454,7 +23726,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -23472,7 +23744,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -23507,22 +23779,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ModuleName": { + "Configuration": { "type": "string" }, - "ModulePackage": { + "ConfigurationAlias": { + "type": "string" + }, + "TypeArn": { + "type": "string" + }, + "TypeName": { "type": "string" } }, "required": [ - "ModuleName", - "ModulePackage" + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::CloudFormation::HookTypeConfig" ], "type": "string" }, @@ -23541,7 +23818,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CloudFormation::HookVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23576,27 +23853,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "LogDeliveryBucket": { + "ExecutionRoleArn": { "type": "string" }, - "PublicVersionNumber": { - "type": "string" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" }, - "Type": { + "SchemaHandlerPackage": { "type": "string" }, "TypeName": { "type": "string" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CloudFormation::HookVersion" ], "type": "string" }, @@ -23610,11 +23888,24 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { "additionalProperties": false, "properties": { "Condition": { @@ -23649,21 +23940,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "type": "boolean" + "Description": { + "type": "string" }, - "ConnectionArn": { + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "AcceptTermsAndConditions" + "FunctionName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CloudFormation::Macro" ], "type": "string" }, @@ -23682,7 +23983,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23717,10 +24018,10 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "Arn": { "type": "string" }, - "TypeVersionArn": { + "ModuleName": { "type": "string" }, "VersionId": { @@ -23731,7 +24032,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -23749,7 +24050,284 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::ModuleVersion": { + "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": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "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": { + "Arn": { + "type": "string" + }, + "LogDeliveryBucket": { + "type": "string" + }, + "PublicVersionNumber": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::Publisher": { + "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": { + "AcceptTermsAndConditions": { + "type": "boolean" + }, + "ConnectionArn": { + "type": "string" + } + }, + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -36913,6 +37491,101 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CustomerProfiles::EventStream": { + "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": { + "DomainName": { + "type": "string" + }, + "EventStreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "EventStreamName", + "Uri" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { @@ -44890,7 +45563,6 @@ var SamSchema = `{ } }, "required": [ - "AttributeName", "Enabled" ], "type": "object" @@ -79595,6 +80267,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "Preset": { + "type": "string" + }, "RecordingConfigurationArn": { "type": "string" }, @@ -108377,7 +109052,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaConnect::Flow": { + "AWS::MediaConnect::Bridge": { "additionalProperties": false, "properties": { "Condition": { @@ -108412,28 +109087,44 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" + "EgressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.EgressGatewayBridge" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.IngressGatewayBridge" }, "Name": { "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeOutput" + }, + "type": "array" + }, + "PlacementArn": { + "type": "string" }, "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.FailoverConfig" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeSource" + }, + "type": "array" } }, "required": [ "Name", - "Source" + "PlacementArn", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaConnect::Bridge" ], "type": "string" }, @@ -108452,136 +109143,599 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::MediaConnect::Flow.Encryption": { + "AWS::MediaConnect::Bridge.BridgeFlowSource": { "additionalProperties": false, "properties": { - "Algorithm": { + "FlowArn": { "type": "string" }, - "ConstantInitializationVector": { + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { "type": "string" }, - "DeviceId": { + "Name": { "type": "string" }, - "KeyType": { + "NetworkName": { "type": "string" }, - "Region": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" }, - "ResourceId": { + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "Name", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SecretArn": { + "NetworkName": { "type": "string" }, - "Url": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" } }, "required": [ - "RoleArn" + "MulticastIp", + "Name", + "NetworkName", + "Port", + "Protocol" ], "type": "object" }, - "AWS::MediaConnect::Flow.FailoverConfig": { + "AWS::MediaConnect::Bridge.BridgeOutput": { "additionalProperties": false, "properties": { - "FailoverMode": { - "type": "string" + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkOutput" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeFlowSource" }, - "RecoveryWindow": { + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkSource" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { "type": "number" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" }, "SourcePriority": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.SourcePriority" }, "State": { "type": "string" } }, + "required": [ + "FailoverMode" + ], "type": "object" }, - "AWS::MediaConnect::Flow.Source": { + "AWS::MediaConnect::Bridge.IngressGatewayBridge": { "additionalProperties": false, "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, "MaxBitrate": { "type": "number" }, - "MaxLatency": { - "type": "number" - }, - "MinLatency": { + "MaxOutputs": { "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SenderControlPort": { - "type": "number" - }, - "SenderIpAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceIngestPort": { - "type": "string" - }, - "SourceListenerAddress": { - "type": "string" - }, - "SourceListenerPort": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" } }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], "type": "object" }, - "AWS::MediaConnect::Flow.SourcePriority": { + "AWS::MediaConnect::Bridge.SourcePriority": { "additionalProperties": false, "properties": { "PrimarySource": { "type": "string" } }, - "required": [ - "PrimarySource" - ], "type": "object" }, - "AWS::MediaConnect::FlowEntitlement": { + "AWS::MediaConnect::Bridge.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput": { + "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": { + "BridgeArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" + } + }, + "required": [ + "BridgeArn", + "Name", + "NetworkOutput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource": { + "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": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeNetworkSource" + } + }, + "required": [ + "BridgeArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "MulticastIp", + "NetworkName", + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" + }, + "RecoveryWindow": { + "type": "number" + }, + "SourcePriority": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "MinLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SenderControlPort": { + "type": "number" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "Condition": { @@ -109080,6 +110234,101 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::Gateway": { + "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": { + "EgressCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Networks": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Gateway.GatewayNetwork" + }, + "type": "array" + } + }, + "required": [ + "EgressCidrBlocks", + "Name", + "Networks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Gateway.GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "Name" + ], + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -155590,6 +156839,100 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::RDS::CustomDBEngineVersion": { + "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": { + "DatabaseInstallationFilesS3BucketName": { + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KMSKeyId": { + "type": "string" + }, + "Manifest": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseInstallationFilesS3BucketName", + "Engine", + "EngineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::CustomDBEngineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { @@ -177741,30 +179084,867 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotateImmediatelyOnUpdate": { - "type": "boolean" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "SuperuserSecretArn": { + "type": "string" + }, + "SuperuserSecretKmsKeyArn": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "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": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "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": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule": { + "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": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesAction" + }, + "type": "array" + }, + "Criteria": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" + }, + "Description": { + "type": "string" + }, + "IsTerminal": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + }, + "RuleOrder": { + "type": "number" + }, + "RuleStatus": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::AutomationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesAction": { + "additionalProperties": false, + "properties": { + "FindingFieldsUpdate": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "FindingFieldsUpdate", + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate": { + "additionalProperties": false, + "properties": { + "Confidence": { + "type": "number" + }, + "Criticality": { + "type": "number" + }, + "Note": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NoteUpdate" + }, + "RelatedFindings": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.RelatedFinding" + }, + "type": "array" + }, + "Severity": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.SeverityUpdate" + }, + "Types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserDefinedFields": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "VerificationState": { + "type": "string" + }, + "Workflow": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.WorkflowUpdate" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NoteUpdate": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + }, + "UpdatedBy": { + "type": "object" + } + }, + "required": [ + "Text", + "UpdatedBy" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.RelatedFinding": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "object" + }, + "ProductArn": { + "type": "string" + } + }, + "required": [ + "Id", + "ProductArn" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.SeverityUpdate": { + "additionalProperties": false, + "properties": { + "Label": { + "type": "string" + }, + "Normalized": { + "type": "number" + }, + "Product": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.WorkflowUpdate": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "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": { + "Tags": { + "type": "object" } }, - "required": [ - "SecretId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -177778,69 +179958,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "SuperuserSecretArn": { - "type": "string" - }, - "SuperuserSecretKmsKeyArn": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" + "Type" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - }, - "Duration": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { "Condition": { @@ -177875,162 +179997,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "DisabledStandardsControls": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" }, - "TargetId": { - "type": "string" - }, - "TargetType": { + "StandardsArn": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "StandardsArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::SecurityHub::Standard" ], "type": "string" }, @@ -178049,64 +180033,18 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::SecurityHub::Standard.StandardsControl": { "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": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], + "Reason": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StandardsControlArn": { "type": "string" } }, "required": [ - "Type" + "StandardsControlArn" ], "type": "object" }, @@ -193474,6 +195412,18 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" }, + { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::Membership" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -193777,6 +195727,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Integration" }, @@ -195178,6 +197131,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Bridge" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource" + }, { "$ref": "#/definitions/AWS::MediaConnect::Flow" }, @@ -195193,6 +197155,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Gateway" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -195550,6 +197515,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, + { + "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" + }, { "$ref": "#/definitions/AWS::RDS::DBCluster" }, @@ -196006,9 +197974,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" }, + { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Standard" + }, { "$ref": "#/definitions/AWS::Serverless::Api" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index daf8e3ff2a..84ee37837d 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -22915,7 +22915,7 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2": { + "AWS::CleanRooms::Collaboration": { "additionalProperties": false, "properties": { "Condition": { @@ -22950,34 +22950,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { + "CreatorDisplayName": { "type": "string" }, - "InstanceType": { - "type": "string" + "CreatorMemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" }, - "Name": { - "type": "string" + "DataEncryptionMetadata": { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.DataEncryptionMetadata" }, - "OwnerArn": { + "Description": { "type": "string" }, - "Repositories": { + "Members": { "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + "$ref": "#/definitions/AWS::CleanRooms::Collaboration.MemberSpecification" }, "type": "array" }, - "SubnetId": { + "Name": { + "type": "string" + }, + "QueryLogStatus": { "type": "string" }, "Tags": { @@ -22988,13 +22985,18 @@ } }, "required": [ - "InstanceType" + "CreatorDisplayName", + "CreatorMemberAbilities", + "Description", + "Members", + "Name", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::CleanRooms::Collaboration" ], "type": "string" }, @@ -23013,23 +23015,54 @@ ], "type": "object" }, - "AWS::Cloud9::EnvironmentEC2.Repository": { + "AWS::CleanRooms::Collaboration.DataEncryptionMetadata": { "additionalProperties": false, "properties": { - "PathComponent": { + "AllowCleartext": { + "type": "boolean" + }, + "AllowDuplicates": { + "type": "boolean" + }, + "AllowJoinsOnColumnsWithDifferentNames": { + "type": "boolean" + }, + "PreserveNulls": { + "type": "boolean" + } + }, + "required": [ + "AllowCleartext", + "AllowDuplicates", + "AllowJoinsOnColumnsWithDifferentNames", + "PreserveNulls" + ], + "type": "object" + }, + "AWS::CleanRooms::Collaboration.MemberSpecification": { + "additionalProperties": false, + "properties": { + "AccountId": { "type": "string" }, - "RepositoryUrl": { + "DisplayName": { "type": "string" + }, + "MemberAbilities": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "PathComponent", - "RepositoryUrl" + "AccountId", + "DisplayName", + "MemberAbilities" ], "type": "object" }, - "AWS::CloudFormation::CustomResource": { + "AWS::CleanRooms::ConfiguredTable": { "additionalProperties": false, "properties": { "Condition": { @@ -23064,18 +23097,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ServiceToken": { + "AllowedColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalysisMethod": { "type": "string" + }, + "AnalysisRules": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableReference": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.TableReference" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ServiceToken" + "AllowedColumns", + "AnalysisMethod", + "Name", + "TableReference" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::CleanRooms::ConfiguredTable" ], "type": "string" }, @@ -23094,7 +23157,182 @@ ], "type": "object" }, - "AWS::CloudFormation::HookDefaultVersion": { + "AWS::CleanRooms::ConfiguredTable.AggregateColumn": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "ColumnNames", + "Function" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AggregationConstraint": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Minimum": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "Minimum", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRule": { + "additionalProperties": false, + "properties": { + "Policy": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Policy", + "Type" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation": { + "additionalProperties": false, + "properties": { + "AggregateColumns": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregateColumn" + }, + "type": "array" + }, + "DimensionColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JoinRequired": { + "type": "string" + }, + "OutputConstraints": { + "items": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AggregationConstraint" + }, + "type": "array" + }, + "ScalarFunctions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AggregateColumns", + "DimensionColumns", + "JoinColumns", + "OutputConstraints", + "ScalarFunctions" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.AnalysisRuleList": { + "additionalProperties": false, + "properties": { + "JoinColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ListColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "JoinColumns", + "ListColumns" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicy": { + "additionalProperties": false, + "properties": { + "V1": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1" + } + }, + "required": [ + "V1" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.ConfiguredTableAnalysisRulePolicyV1": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleAggregation" + }, + "List": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.AnalysisRuleList" + } + }, + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.GlueTableReference": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTable.TableReference": { + "additionalProperties": false, + "properties": { + "Glue": { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable.GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "type": "object" + }, + "AWS::CleanRooms::ConfiguredTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -23129,21 +23367,39 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "ConfiguredTableIdentifier": { "type": "string" }, - "TypeVersionArn": { + "Description": { "type": "string" }, - "VersionId": { + "MembershipIdentifier": { "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "ConfiguredTableIdentifier", + "MembershipIdentifier", + "Name", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "type": "string" }, @@ -23157,11 +23413,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::HookTypeConfig": { + "AWS::CleanRooms::Membership": { "additionalProperties": false, "properties": { "Condition": { @@ -23196,27 +23453,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { + "CollaborationIdentifier": { "type": "string" }, - "ConfigurationAlias": { + "QueryLogStatus": { "type": "string" }, - "TypeArn": { - "type": "string" - }, - "TypeName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Configuration" + "CollaborationIdentifier", + "QueryLogStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::CleanRooms::Membership" ], "type": "string" }, @@ -23235,7 +23493,7 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion": { + "AWS::Cloud9::EnvironmentEC2": { "additionalProperties": false, "properties": { "Condition": { @@ -23270,28 +23528,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ExecutionRoleArn": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { "type": "string" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" + "Description": { + "type": "string" }, - "SchemaHandlerPackage": { + "ImageId": { "type": "string" }, - "TypeName": { + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "SchemaHandlerPackage", - "TypeName" + "InstanceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::Cloud9::EnvironmentEC2" ], "type": "string" }, @@ -23310,19 +23591,23 @@ ], "type": "object" }, - "AWS::CloudFormation::HookVersion.LoggingConfig": { + "AWS::Cloud9::EnvironmentEC2.Repository": { "additionalProperties": false, "properties": { - "LogGroupName": { + "PathComponent": { "type": "string" }, - "LogRoleArn": { + "RepositoryUrl": { "type": "string" } }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], "type": "object" }, - "AWS::CloudFormation::Macro": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -23357,31 +23642,18 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { + "ServiceToken": { "type": "string" } }, "required": [ - "FunctionName", - "Name" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Macro" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -23400,7 +23672,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleDefaultVersion": { + "AWS::CloudFormation::HookDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23435,10 +23707,10 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { + "TypeName": { "type": "string" }, - "ModuleName": { + "TypeVersionArn": { "type": "string" }, "VersionId": { @@ -23449,7 +23721,7 @@ }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::CloudFormation::HookDefaultVersion" ], "type": "string" }, @@ -23467,7 +23739,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ModuleVersion": { + "AWS::CloudFormation::HookTypeConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -23502,22 +23774,27 @@ "Properties": { "additionalProperties": false, "properties": { - "ModuleName": { + "Configuration": { "type": "string" }, - "ModulePackage": { + "ConfigurationAlias": { + "type": "string" + }, + "TypeArn": { + "type": "string" + }, + "TypeName": { "type": "string" } }, "required": [ - "ModuleName", - "ModulePackage" + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::CloudFormation::HookTypeConfig" ], "type": "string" }, @@ -23536,7 +23813,7 @@ ], "type": "object" }, - "AWS::CloudFormation::PublicTypeVersion": { + "AWS::CloudFormation::HookVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23571,27 +23848,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" - }, - "LogDeliveryBucket": { + "ExecutionRoleArn": { "type": "string" }, - "PublicVersionNumber": { - "type": "string" + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::HookVersion.LoggingConfig" }, - "Type": { + "SchemaHandlerPackage": { "type": "string" }, "TypeName": { "type": "string" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::CloudFormation::HookVersion" ], "type": "string" }, @@ -23605,11 +23883,24 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::Publisher": { + "AWS::CloudFormation::HookVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Macro": { "additionalProperties": false, "properties": { "Condition": { @@ -23644,21 +23935,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptTermsAndConditions": { - "type": "boolean" + "Description": { + "type": "string" }, - "ConnectionArn": { + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "AcceptTermsAndConditions" + "FunctionName", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::CloudFormation::Macro" ], "type": "string" }, @@ -23677,7 +23978,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceDefaultVersion": { + "AWS::CloudFormation::ModuleDefaultVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -23712,10 +24013,10 @@ "Properties": { "additionalProperties": false, "properties": { - "TypeName": { + "Arn": { "type": "string" }, - "TypeVersionArn": { + "ModuleName": { "type": "string" }, "VersionId": { @@ -23726,7 +24027,7 @@ }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::CloudFormation::ModuleDefaultVersion" ], "type": "string" }, @@ -23744,7 +24045,284 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::ModuleVersion": { + "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": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "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": { + "Arn": { + "type": "string" + }, + "LogDeliveryBucket": { + "type": "string" + }, + "PublicVersionNumber": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::PublicTypeVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::Publisher": { + "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": { + "AcceptTermsAndConditions": { + "type": "boolean" + }, + "ConnectionArn": { + "type": "string" + } + }, + "required": [ + "AcceptTermsAndConditions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Publisher" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceDefaultVersion": { + "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": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -36908,6 +37486,101 @@ ], "type": "object" }, + "AWS::CustomerProfiles::EventStream": { + "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": { + "DomainName": { + "type": "string" + }, + "EventStreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "EventStreamName", + "Uri" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::EventStream.DestinationDetails": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "Status", + "Uri" + ], + "type": "object" + }, "AWS::CustomerProfiles::Integration": { "additionalProperties": false, "properties": { @@ -44885,7 +45558,6 @@ } }, "required": [ - "AttributeName", "Enabled" ], "type": "object" @@ -79590,6 +80262,9 @@ "Name": { "type": "string" }, + "Preset": { + "type": "string" + }, "RecordingConfigurationArn": { "type": "string" }, @@ -108372,7 +109047,7 @@ ], "type": "object" }, - "AWS::MediaConnect::Flow": { + "AWS::MediaConnect::Bridge": { "additionalProperties": false, "properties": { "Condition": { @@ -108407,28 +109082,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AvailabilityZone": { - "type": "string" + "EgressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.EgressGatewayBridge" + }, + "IngressGatewayBridge": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.IngressGatewayBridge" }, "Name": { "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeOutput" + }, + "type": "array" + }, + "PlacementArn": { + "type": "string" }, "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.FailoverConfig" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeSource" + }, + "type": "array" } }, "required": [ "Name", - "Source" + "PlacementArn", + "Sources" ], "type": "object" }, "Type": { "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaConnect::Bridge" ], "type": "string" }, @@ -108447,136 +109138,599 @@ ], "type": "object" }, - "AWS::MediaConnect::Flow.Encryption": { + "AWS::MediaConnect::Bridge.BridgeFlowSource": { "additionalProperties": false, "properties": { - "Algorithm": { + "FlowArn": { "type": "string" }, - "ConstantInitializationVector": { + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.VpcInterfaceAttachment" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { "type": "string" }, - "DeviceId": { + "Name": { "type": "string" }, - "KeyType": { + "NetworkName": { "type": "string" }, - "Region": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" }, - "ResourceId": { + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "Name", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SecretArn": { + "NetworkName": { "type": "string" }, - "Url": { + "Port": { + "type": "number" + }, + "Protocol": { "type": "string" } }, "required": [ - "RoleArn" + "MulticastIp", + "Name", + "NetworkName", + "Port", + "Protocol" ], "type": "object" }, - "AWS::MediaConnect::Flow.FailoverConfig": { + "AWS::MediaConnect::Bridge.BridgeOutput": { "additionalProperties": false, "properties": { - "FailoverMode": { - "type": "string" + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkOutput" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.BridgeSource": { + "additionalProperties": false, + "properties": { + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeFlowSource" }, - "RecoveryWindow": { + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::Bridge.BridgeNetworkSource" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Bridge.EgressGatewayBridge": { + "additionalProperties": false, + "properties": { + "MaxBitrate": { "type": "number" + } + }, + "required": [ + "MaxBitrate" + ], + "type": "object" + }, + "AWS::MediaConnect::Bridge.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" }, "SourcePriority": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + "$ref": "#/definitions/AWS::MediaConnect::Bridge.SourcePriority" }, "State": { "type": "string" } }, + "required": [ + "FailoverMode" + ], "type": "object" }, - "AWS::MediaConnect::Flow.Source": { + "AWS::MediaConnect::Bridge.IngressGatewayBridge": { "additionalProperties": false, "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, "MaxBitrate": { "type": "number" }, - "MaxLatency": { - "type": "number" - }, - "MinLatency": { + "MaxOutputs": { "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SenderControlPort": { - "type": "number" - }, - "SenderIpAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceIngestPort": { - "type": "string" - }, - "SourceListenerAddress": { - "type": "string" - }, - "SourceListenerPort": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" } }, + "required": [ + "MaxBitrate", + "MaxOutputs" + ], "type": "object" }, - "AWS::MediaConnect::Flow.SourcePriority": { + "AWS::MediaConnect::Bridge.SourcePriority": { "additionalProperties": false, "properties": { "PrimarySource": { "type": "string" } }, - "required": [ - "PrimarySource" - ], "type": "object" }, - "AWS::MediaConnect::FlowEntitlement": { + "AWS::MediaConnect::Bridge.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput": { + "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": { + "BridgeArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkOutput": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput" + } + }, + "required": [ + "BridgeArn", + "Name", + "NetworkOutput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeOutput.BridgeNetworkOutput": { + "additionalProperties": false, + "properties": { + "IpAddress": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Ttl": { + "type": "number" + } + }, + "required": [ + "IpAddress", + "NetworkName", + "Port", + "Protocol", + "Ttl" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource": { + "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": { + "BridgeArn": { + "type": "string" + }, + "FlowSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeFlowSource" + }, + "Name": { + "type": "string" + }, + "NetworkSource": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.BridgeNetworkSource" + } + }, + "required": [ + "BridgeArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::BridgeSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeFlowSource": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "FlowVpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.BridgeNetworkSource": { + "additionalProperties": false, + "properties": { + "MulticastIp": { + "type": "string" + }, + "NetworkName": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "MulticastIp", + "NetworkName", + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::MediaConnect::BridgeSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "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": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "FailoverMode": { + "type": "string" + }, + "RecoveryWindow": { + "type": "number" + }, + "SourcePriority": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.SourcePriority" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "MinLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SenderControlPort": { + "type": "number" + }, + "SenderIpAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceIngestPort": { + "type": "string" + }, + "SourceListenerAddress": { + "type": "string" + }, + "SourceListenerPort": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.SourcePriority": { + "additionalProperties": false, + "properties": { + "PrimarySource": { + "type": "string" + } + }, + "required": [ + "PrimarySource" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { "Condition": { @@ -109075,6 +110229,101 @@ ], "type": "object" }, + "AWS::MediaConnect::Gateway": { + "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": { + "EgressCidrBlocks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Networks": { + "items": { + "$ref": "#/definitions/AWS::MediaConnect::Gateway.GatewayNetwork" + }, + "type": "array" + } + }, + "required": [ + "EgressCidrBlocks", + "Name", + "Networks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Gateway.GatewayNetwork": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "Name" + ], + "type": "object" + }, "AWS::MediaConvert::JobTemplate": { "additionalProperties": false, "properties": { @@ -155585,6 +156834,100 @@ ], "type": "object" }, + "AWS::RDS::CustomDBEngineVersion": { + "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": { + "DatabaseInstallationFilesS3BucketName": { + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KMSKeyId": { + "type": "string" + }, + "Manifest": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseInstallationFilesS3BucketName", + "Engine", + "EngineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::CustomDBEngineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { @@ -177736,30 +179079,867 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotateImmediatelyOnUpdate": { - "type": "boolean" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotateImmediatelyOnUpdate": { + "type": "boolean" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "SuperuserSecretArn": { + "type": "string" + }, + "SuperuserSecretKmsKeyArn": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + }, + "Duration": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "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": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "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": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule": { + "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": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesAction" + }, + "type": "array" + }, + "Criteria": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters" + }, + "Description": { + "type": "string" + }, + "IsTerminal": { + "type": "boolean" + }, + "RuleName": { + "type": "string" + }, + "RuleOrder": { + "type": "number" + }, + "RuleStatus": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::AutomationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesAction": { + "additionalProperties": false, + "properties": { + "FindingFieldsUpdate": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "FindingFieldsUpdate", + "Type" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFieldsUpdate": { + "additionalProperties": false, + "properties": { + "Confidence": { + "type": "number" + }, + "Criticality": { + "type": "number" + }, + "Note": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NoteUpdate" + }, + "RelatedFindings": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.RelatedFinding" + }, + "type": "array" + }, + "Severity": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.SeverityUpdate" + }, + "Types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserDefinedFields": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "VerificationState": { + "type": "string" + }, + "Workflow": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.WorkflowUpdate" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.AutomationRulesFindingFilters": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "CompanyName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceAssociatedStandardsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceSecurityControlId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ComplianceStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Confidence": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "CreatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "Criticality": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.NumberFilter" + }, + "type": "array" + }, + "Description": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "FirstObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "GeneratorId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Id": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "LastObservedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteText": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "NoteUpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "NoteUpdatedBy": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ProductName": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RecordState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "RelatedFindingsProductArn": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceDetailsOther": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceId": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourcePartition": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceRegion": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "ResourceType": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SeverityLabel": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "SourceUrl": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Title": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "Type": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "UpdatedAt": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateFilter" + }, + "type": "array" + }, + "UserDefinedFields": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.MapFilter" + }, + "type": "array" + }, + "VerificationState": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + }, + "WorkflowStatus": { + "items": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.StringFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateFilter": { + "additionalProperties": false, + "properties": { + "DateRange": { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule.DateRange" + }, + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.DateRange": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.MapFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NoteUpdate": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + }, + "UpdatedBy": { + "type": "object" + } + }, + "required": [ + "Text", + "UpdatedBy" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.NumberFilter": { + "additionalProperties": false, + "properties": { + "Eq": { + "type": "number" + }, + "Gte": { + "type": "number" + }, + "Lte": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.RelatedFinding": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "object" + }, + "ProductArn": { + "type": "string" + } + }, + "required": [ + "Id", + "ProductArn" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.SeverityUpdate": { + "additionalProperties": false, + "properties": { + "Label": { + "type": "string" + }, + "Normalized": { + "type": "number" + }, + "Product": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.StringFilter": { + "additionalProperties": false, + "properties": { + "Comparison": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Comparison", + "Value" + ], + "type": "object" + }, + "AWS::SecurityHub::AutomationRule.WorkflowUpdate": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "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": { + "Tags": { + "type": "object" } }, - "required": [ - "SecretId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::SecurityHub::Hub" ], "type": "string" }, @@ -177773,69 +179953,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "SuperuserSecretArn": { - "type": "string" - }, - "SuperuserSecretKmsKeyArn": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" + "Type" ], "type": "object" }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - }, - "Duration": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { + "AWS::SecurityHub::Standard": { "additionalProperties": false, "properties": { "Condition": { @@ -177870,162 +179992,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { + "DisabledStandardsControls": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::SecurityHub::Standard.StandardsControl" }, "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" }, - "TargetId": { - "type": "string" - }, - "TargetType": { + "StandardsArn": { "type": "string" } }, "required": [ - "SecretId", - "TargetId", - "TargetType" + "StandardsArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::SecurityHub::Standard" ], "type": "string" }, @@ -178044,64 +180028,18 @@ ], "type": "object" }, - "AWS::SecurityHub::Hub": { + "AWS::SecurityHub::Standard.StandardsControl": { "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": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], + "Reason": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StandardsControlArn": { "type": "string" } }, "required": [ - "Type" + "StandardsControlArn" ], "type": "object" }, @@ -193469,6 +195407,18 @@ { "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" }, + { + "$ref": "#/definitions/AWS::CleanRooms::Collaboration" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTable" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::ConfiguredTableAssociation" + }, + { + "$ref": "#/definitions/AWS::CleanRooms::Membership" + }, { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, @@ -193772,6 +195722,9 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Integration" }, @@ -195173,6 +197126,15 @@ { "$ref": "#/definitions/AWS::ManagedBlockchain::Node" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Bridge" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::BridgeSource" + }, { "$ref": "#/definitions/AWS::MediaConnect::Flow" }, @@ -195188,6 +197150,9 @@ { "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" }, + { + "$ref": "#/definitions/AWS::MediaConnect::Gateway" + }, { "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" }, @@ -195545,6 +197510,9 @@ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, + { + "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" + }, { "$ref": "#/definitions/AWS::RDS::DBCluster" }, @@ -196001,9 +197969,15 @@ { "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" }, + { + "$ref": "#/definitions/AWS::SecurityHub::AutomationRule" + }, { "$ref": "#/definitions/AWS::SecurityHub::Hub" }, + { + "$ref": "#/definitions/AWS::SecurityHub::Standard" + }, { "$ref": "#/definitions/AWS::Serverless::Api" },