From 5ceb69cda072e937bba07c4a00ff49230b51a348 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Jun 2023 10:12:56 +0200 Subject: [PATCH] fix(schema): CloudFormation Updates (#603) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: RĂºben Fonseca --- cloudformation/all.go | 100 ++++ .../cassandra/aws-cassandra-keyspace.go | 5 + ...andra-keyspace_replicationspecification.go | 42 ++ cloudformation/ec2/aws-ec2-networkaclentry.go | 20 +- .../ec2/aws-ec2-volumeattachment.go | 12 +- .../ec2/aws-ec2-vpngatewayroutepropagation.go | 6 +- .../glue/aws-glue-dataqualityruleset.go | 142 ++++++ ...taqualityruleset_dataqualitytargettable.go | 42 ++ ...s-mediaconnect-flow_gatewaybridgesource.go | 42 ++ .../aws-mediaconnect-flow_source.go | 5 + ...ediaconnect-flow_vpcinterfaceattachment.go | 37 ++ .../aws-mediaconnect-flowsource.go | 5 + ...aconnect-flowsource_gatewaybridgesource.go | 42 ++ ...nnect-flowsource_vpcinterfaceattachment.go | 37 ++ .../aws-organizations-organization.go | 117 +++++ .../securityhub/aws-securityhub-hub.go | 15 + .../aws-stepfunctions-statemachinealias.go | 132 ++++++ ...-statemachinealias_deploymentpreference.go | 57 +++ ...achinealias_routingconfigurationversion.go | 42 ++ .../aws-stepfunctions-statemachineversion.go | 127 +++++ .../transfer/aws-transfer-server.go | 5 + ...ransfer-server_structuredlogdestination.go | 32 ++ schema/cdk.go | 442 +++++++++++++++++- schema/cdk.schema.json | 442 +++++++++++++++++- schema/cloudformation.go | 442 +++++++++++++++++- schema/cloudformation.schema.json | 442 +++++++++++++++++- schema/sam.go | 442 +++++++++++++++++- schema/sam.schema.json | 442 +++++++++++++++++- 28 files changed, 3691 insertions(+), 25 deletions(-) create mode 100644 cloudformation/cassandra/aws-cassandra-keyspace_replicationspecification.go create mode 100644 cloudformation/glue/aws-glue-dataqualityruleset.go create mode 100644 cloudformation/glue/aws-glue-dataqualityruleset_dataqualitytargettable.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flow_gatewaybridgesource.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flow_vpcinterfaceattachment.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowsource_gatewaybridgesource.go create mode 100644 cloudformation/mediaconnect/aws-mediaconnect-flowsource_vpcinterfaceattachment.go create mode 100644 cloudformation/organizations/aws-organizations-organization.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachinealias.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_deploymentpreference.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_routingconfigurationversion.go create mode 100644 cloudformation/stepfunctions/aws-stepfunctions-statemachineversion.go create mode 100644 cloudformation/transfer/aws-transfer-server_structuredlogdestination.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 8ec79bcfa4..ff1166bb92 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -713,6 +713,7 @@ func AllResources() map[string]Resource { "AWS::Glue::Connection": &glue.Connection{}, "AWS::Glue::Crawler": &glue.Crawler{}, "AWS::Glue::DataCatalogEncryptionSettings": &glue.DataCatalogEncryptionSettings{}, + "AWS::Glue::DataQualityRuleset": &glue.DataQualityRuleset{}, "AWS::Glue::Database": &glue.Database{}, "AWS::Glue::DevEndpoint": &glue.DevEndpoint{}, "AWS::Glue::Job": &glue.Job{}, @@ -1020,6 +1021,7 @@ func AllResources() map[string]Resource { "AWS::OpsWorks::Volume": &opsworks.Volume{}, "AWS::OpsWorksCM::Server": &opsworkscm.Server{}, "AWS::Organizations::Account": &organizations.Account{}, + "AWS::Organizations::Organization": &organizations.Organization{}, "AWS::Organizations::OrganizationalUnit": &organizations.OrganizationalUnit{}, "AWS::Organizations::Policy": &organizations.Policy{}, "AWS::Organizations::ResourcePolicy": &organizations.ResourcePolicy{}, @@ -1267,6 +1269,8 @@ func AllResources() map[string]Resource { "AWS::SimSpaceWeaver::Simulation": &simspaceweaver.Simulation{}, "AWS::StepFunctions::Activity": &stepfunctions.Activity{}, "AWS::StepFunctions::StateMachine": &stepfunctions.StateMachine{}, + "AWS::StepFunctions::StateMachineAlias": &stepfunctions.StateMachineAlias{}, + "AWS::StepFunctions::StateMachineVersion": &stepfunctions.StateMachineVersion{}, "AWS::SupportApp::AccountAlias": &supportapp.AccountAlias{}, "AWS::SupportApp::SlackChannelConfiguration": &supportapp.SlackChannelConfiguration{}, "AWS::SupportApp::SlackWorkspaceConfiguration": &supportapp.SlackWorkspaceConfiguration{}, @@ -12878,6 +12882,30 @@ func (t *Template) GetGlueDataCatalogEncryptionSettingsWithName(name string) (*g return nil, fmt.Errorf("resource %q of type glue.DataCatalogEncryptionSettings not found", name) } +// GetAllGlueDataQualityRulesetResources retrieves all glue.DataQualityRuleset items from an AWS CloudFormation template +func (t *Template) GetAllGlueDataQualityRulesetResources() map[string]*glue.DataQualityRuleset { + results := map[string]*glue.DataQualityRuleset{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *glue.DataQualityRuleset: + results[name] = resource + } + } + return results +} + +// GetGlueDataQualityRulesetWithName retrieves all glue.DataQualityRuleset items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetGlueDataQualityRulesetWithName(name string) (*glue.DataQualityRuleset, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *glue.DataQualityRuleset: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type glue.DataQualityRuleset not found", name) +} + // GetAllGlueDatabaseResources retrieves all glue.Database items from an AWS CloudFormation template func (t *Template) GetAllGlueDatabaseResources() map[string]*glue.Database { results := map[string]*glue.Database{} @@ -20246,6 +20274,30 @@ func (t *Template) GetOrganizationsAccountWithName(name string) (*organizations. return nil, fmt.Errorf("resource %q of type organizations.Account not found", name) } +// GetAllOrganizationsOrganizationResources retrieves all organizations.Organization items from an AWS CloudFormation template +func (t *Template) GetAllOrganizationsOrganizationResources() map[string]*organizations.Organization { + results := map[string]*organizations.Organization{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *organizations.Organization: + results[name] = resource + } + } + return results +} + +// GetOrganizationsOrganizationWithName retrieves all organizations.Organization items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetOrganizationsOrganizationWithName(name string) (*organizations.Organization, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *organizations.Organization: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type organizations.Organization not found", name) +} + // GetAllOrganizationsOrganizationalUnitResources retrieves all organizations.OrganizationalUnit items from an AWS CloudFormation template func (t *Template) GetAllOrganizationsOrganizationalUnitResources() map[string]*organizations.OrganizationalUnit { results := map[string]*organizations.OrganizationalUnit{} @@ -26174,6 +26226,54 @@ func (t *Template) GetStepFunctionsStateMachineWithName(name string) (*stepfunct return nil, fmt.Errorf("resource %q of type stepfunctions.StateMachine not found", name) } +// GetAllStepFunctionsStateMachineAliasResources retrieves all stepfunctions.StateMachineAlias items from an AWS CloudFormation template +func (t *Template) GetAllStepFunctionsStateMachineAliasResources() map[string]*stepfunctions.StateMachineAlias { + results := map[string]*stepfunctions.StateMachineAlias{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *stepfunctions.StateMachineAlias: + results[name] = resource + } + } + return results +} + +// GetStepFunctionsStateMachineAliasWithName retrieves all stepfunctions.StateMachineAlias items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetStepFunctionsStateMachineAliasWithName(name string) (*stepfunctions.StateMachineAlias, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *stepfunctions.StateMachineAlias: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type stepfunctions.StateMachineAlias not found", name) +} + +// GetAllStepFunctionsStateMachineVersionResources retrieves all stepfunctions.StateMachineVersion items from an AWS CloudFormation template +func (t *Template) GetAllStepFunctionsStateMachineVersionResources() map[string]*stepfunctions.StateMachineVersion { + results := map[string]*stepfunctions.StateMachineVersion{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *stepfunctions.StateMachineVersion: + results[name] = resource + } + } + return results +} + +// GetStepFunctionsStateMachineVersionWithName retrieves all stepfunctions.StateMachineVersion items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetStepFunctionsStateMachineVersionWithName(name string) (*stepfunctions.StateMachineVersion, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *stepfunctions.StateMachineVersion: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type stepfunctions.StateMachineVersion not found", name) +} + // GetAllSupportAppAccountAliasResources retrieves all supportapp.AccountAlias items from an AWS CloudFormation template func (t *Template) GetAllSupportAppAccountAliasResources() map[string]*supportapp.AccountAlias { results := map[string]*supportapp.AccountAlias{} diff --git a/cloudformation/cassandra/aws-cassandra-keyspace.go b/cloudformation/cassandra/aws-cassandra-keyspace.go index 62baf63c04..0afa8590c5 100644 --- a/cloudformation/cassandra/aws-cassandra-keyspace.go +++ b/cloudformation/cassandra/aws-cassandra-keyspace.go @@ -19,6 +19,11 @@ type Keyspace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-keyspacename KeyspaceName *string `json:"KeyspaceName,omitempty"` + // ReplicationSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-replicationspecification + ReplicationSpecification *Keyspace_ReplicationSpecification `json:"ReplicationSpecification,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-tags diff --git a/cloudformation/cassandra/aws-cassandra-keyspace_replicationspecification.go b/cloudformation/cassandra/aws-cassandra-keyspace_replicationspecification.go new file mode 100644 index 0000000000..ae57748b6b --- /dev/null +++ b/cloudformation/cassandra/aws-cassandra-keyspace_replicationspecification.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cassandra + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Keyspace_ReplicationSpecification AWS CloudFormation Resource (AWS::Cassandra::Keyspace.ReplicationSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-keyspace-replicationspecification.html +type Keyspace_ReplicationSpecification struct { + + // RegionList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-keyspace-replicationspecification.html#cfn-cassandra-keyspace-replicationspecification-regionlist + RegionList []string `json:"RegionList,omitempty"` + + // ReplicationStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-keyspace-replicationspecification.html#cfn-cassandra-keyspace-replicationspecification-replicationstrategy + ReplicationStrategy *string `json:"ReplicationStrategy,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 *Keyspace_ReplicationSpecification) AWSCloudFormationType() string { + return "AWS::Cassandra::Keyspace.ReplicationSpecification" +} diff --git a/cloudformation/ec2/aws-ec2-networkaclentry.go b/cloudformation/ec2/aws-ec2-networkaclentry.go index c6fcc73a1d..6e4397a69e 100644 --- a/cloudformation/ec2/aws-ec2-networkaclentry.go +++ b/cloudformation/ec2/aws-ec2-networkaclentry.go @@ -10,52 +10,52 @@ import ( ) // NetworkAclEntry AWS CloudFormation Resource (AWS::EC2::NetworkAclEntry) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html type NetworkAclEntry struct { // CidrBlock AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-cidrblock + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-cidrblock CidrBlock *string `json:"CidrBlock,omitempty"` // Egress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-egress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-egress Egress *bool `json:"Egress,omitempty"` // Icmp AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-icmp + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-icmp Icmp *NetworkAclEntry_Icmp `json:"Icmp,omitempty"` // Ipv6CidrBlock AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-ipv6cidrblock + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-ipv6cidrblock Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitempty"` // NetworkAclId AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-networkaclid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-networkaclid NetworkAclId string `json:"NetworkAclId"` // PortRange AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-portrange + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-portrange PortRange *NetworkAclEntry_PortRange `json:"PortRange,omitempty"` // Protocol AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-protocol + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-protocol Protocol int `json:"Protocol"` // RuleAction AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-ruleaction + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-ruleaction RuleAction string `json:"RuleAction"` // RuleNumber AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-rulenumber + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-rulenumber RuleNumber int `json:"RuleNumber"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-volumeattachment.go b/cloudformation/ec2/aws-ec2-volumeattachment.go index 272cb173ab..b252f2163c 100644 --- a/cloudformation/ec2/aws-ec2-volumeattachment.go +++ b/cloudformation/ec2/aws-ec2-volumeattachment.go @@ -10,22 +10,22 @@ import ( ) // VolumeAttachment AWS CloudFormation Resource (AWS::EC2::VolumeAttachment) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html type VolumeAttachment struct { // Device AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html#cfn-ec2-ebs-volumeattachment-device - Device string `json:"Device"` + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html#cfn-ec2-volumeattachment-device + Device *string `json:"Device,omitempty"` // InstanceId AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html#cfn-ec2-ebs-volumeattachment-instanceid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html#cfn-ec2-volumeattachment-instanceid InstanceId string `json:"InstanceId"` // VolumeId AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html#cfn-ec2-ebs-volumeattachment-volumeid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html#cfn-ec2-volumeattachment-volumeid VolumeId string `json:"VolumeId"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go b/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go index c576f1b389..15627a5f46 100644 --- a/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go +++ b/cloudformation/ec2/aws-ec2-vpngatewayroutepropagation.go @@ -10,17 +10,17 @@ import ( ) // VPNGatewayRoutePropagation AWS CloudFormation Resource (AWS::EC2::VPNGatewayRoutePropagation) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html type VPNGatewayRoutePropagation struct { // RouteTableIds AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html#cfn-ec2-vpngatewayroutepropagation-routetableids + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html#cfn-ec2-vpngatewayrouteprop-routetableids RouteTableIds []string `json:"RouteTableIds"` // VpnGatewayId AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html#cfn-ec2-vpngatewayroutepropagation-vpngatewayid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html#cfn-ec2-vpngatewayrouteprop-vpngatewayid VpnGatewayId string `json:"VpnGatewayId"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/glue/aws-glue-dataqualityruleset.go b/cloudformation/glue/aws-glue-dataqualityruleset.go new file mode 100644 index 0000000000..bb2aca0532 --- /dev/null +++ b/cloudformation/glue/aws-glue-dataqualityruleset.go @@ -0,0 +1,142 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataQualityRuleset AWS CloudFormation Resource (AWS::Glue::DataQualityRuleset) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html +type DataQualityRuleset struct { + + // ClientToken AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html#cfn-glue-dataqualityruleset-clienttoken + ClientToken *string `json:"ClientToken,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html#cfn-glue-dataqualityruleset-description + Description *string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html#cfn-glue-dataqualityruleset-name + Name *string `json:"Name,omitempty"` + + // Ruleset AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html#cfn-glue-dataqualityruleset-ruleset + Ruleset *string `json:"Ruleset,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html#cfn-glue-dataqualityruleset-tags + Tags interface{} `json:"Tags,omitempty"` + + // TargetTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html#cfn-glue-dataqualityruleset-targettable + TargetTable *DataQualityRuleset_DataQualityTargetTable `json:"TargetTable,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 *DataQualityRuleset) AWSCloudFormationType() string { + return "AWS::Glue::DataQualityRuleset" +} + +// 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 DataQualityRuleset) MarshalJSON() ([]byte, error) { + type Properties DataQualityRuleset + 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 *DataQualityRuleset) UnmarshalJSON(b []byte) error { + type Properties DataQualityRuleset + 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 = DataQualityRuleset(*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/glue/aws-glue-dataqualityruleset_dataqualitytargettable.go b/cloudformation/glue/aws-glue-dataqualityruleset_dataqualitytargettable.go new file mode 100644 index 0000000000..08ed0a971e --- /dev/null +++ b/cloudformation/glue/aws-glue-dataqualityruleset_dataqualitytargettable.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataQualityRuleset_DataQualityTargetTable AWS CloudFormation Resource (AWS::Glue::DataQualityRuleset.DataQualityTargetTable) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-dataqualityruleset-dataqualitytargettable.html +type DataQualityRuleset_DataQualityTargetTable struct { + + // DatabaseName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-dataqualityruleset-dataqualitytargettable.html#cfn-glue-dataqualityruleset-dataqualitytargettable-databasename + DatabaseName *string `json:"DatabaseName,omitempty"` + + // TableName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-dataqualityruleset-dataqualitytargettable.html#cfn-glue-dataqualityruleset-dataqualitytargettable-tablename + TableName *string `json:"TableName,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 *DataQualityRuleset_DataQualityTargetTable) AWSCloudFormationType() string { + return "AWS::Glue::DataQualityRuleset.DataQualityTargetTable" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flow_gatewaybridgesource.go b/cloudformation/mediaconnect/aws-mediaconnect-flow_gatewaybridgesource.go new file mode 100644 index 0000000000..fe0b0a9076 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow_gatewaybridgesource.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" +) + +// Flow_GatewayBridgeSource AWS CloudFormation Resource (AWS::MediaConnect::Flow.GatewayBridgeSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html +type Flow_GatewayBridgeSource struct { + + // BridgeArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html#cfn-mediaconnect-flow-gatewaybridgesource-bridgearn + BridgeArn string `json:"BridgeArn"` + + // VpcInterfaceAttachment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-gatewaybridgesource.html#cfn-mediaconnect-flow-gatewaybridgesource-vpcinterfaceattachment + VpcInterfaceAttachment *Flow_VpcInterfaceAttachment `json:"VpcInterfaceAttachment,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 *Flow_GatewayBridgeSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::Flow.GatewayBridgeSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go b/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go index b55ede0dec..8d83e4037e 100644 --- a/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow_source.go @@ -25,6 +25,11 @@ type Flow_Source struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-entitlementarn EntitlementArn *string `json:"EntitlementArn,omitempty"` + // GatewayBridgeSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-gatewaybridgesource + GatewayBridgeSource *Flow_GatewayBridgeSource `json:"GatewayBridgeSource,omitempty"` + // IngestIp AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-source.html#cfn-mediaconnect-flow-source-ingestip diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flow_vpcinterfaceattachment.go b/cloudformation/mediaconnect/aws-mediaconnect-flow_vpcinterfaceattachment.go new file mode 100644 index 0000000000..f704c54111 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flow_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" +) + +// Flow_VpcInterfaceAttachment AWS CloudFormation Resource (AWS::MediaConnect::Flow.VpcInterfaceAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterfaceattachment.html +type Flow_VpcInterfaceAttachment struct { + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flow-vpcinterfaceattachment.html#cfn-mediaconnect-flow-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 *Flow_VpcInterfaceAttachment) AWSCloudFormationType() string { + return "AWS::MediaConnect::Flow.VpcInterfaceAttachment" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go b/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go index 7307c994f3..46ca8dcc13 100644 --- a/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowsource.go @@ -33,6 +33,11 @@ type FlowSource struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-flowarn FlowArn *string `json:"FlowArn,omitempty"` + // GatewayBridgeSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-gatewaybridgesource + GatewayBridgeSource *FlowSource_GatewayBridgeSource `json:"GatewayBridgeSource,omitempty"` + // IngestPort AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html#cfn-mediaconnect-flowsource-ingestport diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowsource_gatewaybridgesource.go b/cloudformation/mediaconnect/aws-mediaconnect-flowsource_gatewaybridgesource.go new file mode 100644 index 0000000000..b358174abc --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowsource_gatewaybridgesource.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" +) + +// FlowSource_GatewayBridgeSource AWS CloudFormation Resource (AWS::MediaConnect::FlowSource.GatewayBridgeSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-gatewaybridgesource.html +type FlowSource_GatewayBridgeSource struct { + + // BridgeArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-gatewaybridgesource.html#cfn-mediaconnect-flowsource-gatewaybridgesource-bridgearn + BridgeArn string `json:"BridgeArn"` + + // VpcInterfaceAttachment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-gatewaybridgesource.html#cfn-mediaconnect-flowsource-gatewaybridgesource-vpcinterfaceattachment + VpcInterfaceAttachment *FlowSource_VpcInterfaceAttachment `json:"VpcInterfaceAttachment,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 *FlowSource_GatewayBridgeSource) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowSource.GatewayBridgeSource" +} diff --git a/cloudformation/mediaconnect/aws-mediaconnect-flowsource_vpcinterfaceattachment.go b/cloudformation/mediaconnect/aws-mediaconnect-flowsource_vpcinterfaceattachment.go new file mode 100644 index 0000000000..3f72cc6766 --- /dev/null +++ b/cloudformation/mediaconnect/aws-mediaconnect-flowsource_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" +) + +// FlowSource_VpcInterfaceAttachment AWS CloudFormation Resource (AWS::MediaConnect::FlowSource.VpcInterfaceAttachment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-vpcinterfaceattachment.html +type FlowSource_VpcInterfaceAttachment struct { + + // VpcInterfaceName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconnect-flowsource-vpcinterfaceattachment.html#cfn-mediaconnect-flowsource-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 *FlowSource_VpcInterfaceAttachment) AWSCloudFormationType() string { + return "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" +} diff --git a/cloudformation/organizations/aws-organizations-organization.go b/cloudformation/organizations/aws-organizations-organization.go new file mode 100644 index 0000000000..db7e6f8049 --- /dev/null +++ b/cloudformation/organizations/aws-organizations-organization.go @@ -0,0 +1,117 @@ +// Code generated by "go generate". Please don't change this file directly. + +package organizations + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Organization AWS CloudFormation Resource (AWS::Organizations::Organization) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html +type Organization struct { + + // FeatureSet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html#cfn-organizations-organization-featureset + FeatureSet *string `json:"FeatureSet,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 *Organization) AWSCloudFormationType() string { + return "AWS::Organizations::Organization" +} + +// 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 Organization) MarshalJSON() ([]byte, error) { + type Properties Organization + 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 *Organization) UnmarshalJSON(b []byte) error { + type Properties Organization + 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 = Organization(*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-hub.go b/cloudformation/securityhub/aws-securityhub-hub.go index e40680d97c..c42e45e484 100644 --- a/cloudformation/securityhub/aws-securityhub-hub.go +++ b/cloudformation/securityhub/aws-securityhub-hub.go @@ -13,6 +13,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html type Hub struct { + // AutoEnableControls AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-autoenablecontrols + AutoEnableControls *bool `json:"AutoEnableControls,omitempty"` + + // ControlFindingGenerator AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-controlfindinggenerator + ControlFindingGenerator *string `json:"ControlFindingGenerator,omitempty"` + + // EnableDefaultStandards AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-enabledefaultstandards + EnableDefaultStandards *bool `json:"EnableDefaultStandards,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias.go new file mode 100644 index 0000000000..2f51a7f1f5 --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias.go @@ -0,0 +1,132 @@ +// Code generated by "go generate". Please don't change this file directly. + +package stepfunctions + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StateMachineAlias AWS CloudFormation Resource (AWS::StepFunctions::StateMachineAlias) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html +type StateMachineAlias struct { + + // DeploymentPreference AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-deploymentpreference + DeploymentPreference *StateMachineAlias_DeploymentPreference `json:"DeploymentPreference,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-description + Description *string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-name + Name *string `json:"Name,omitempty"` + + // RoutingConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-routingconfiguration + RoutingConfiguration []StateMachineAlias_RoutingConfigurationVersion `json:"RoutingConfiguration,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 *StateMachineAlias) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachineAlias" +} + +// 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 StateMachineAlias) MarshalJSON() ([]byte, error) { + type Properties StateMachineAlias + 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 *StateMachineAlias) UnmarshalJSON(b []byte) error { + type Properties StateMachineAlias + 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 = StateMachineAlias(*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/stepfunctions/aws-stepfunctions-statemachinealias_deploymentpreference.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_deploymentpreference.go new file mode 100644 index 0000000000..b242d9e94e --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_deploymentpreference.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package stepfunctions + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StateMachineAlias_DeploymentPreference AWS CloudFormation Resource (AWS::StepFunctions::StateMachineAlias.DeploymentPreference) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html +type StateMachineAlias_DeploymentPreference struct { + + // Alarms AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html#cfn-stepfunctions-statemachinealias-deploymentpreference-alarms + Alarms []string `json:"Alarms,omitempty"` + + // Interval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html#cfn-stepfunctions-statemachinealias-deploymentpreference-interval + Interval *int `json:"Interval,omitempty"` + + // Percentage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html#cfn-stepfunctions-statemachinealias-deploymentpreference-percentage + Percentage *int `json:"Percentage,omitempty"` + + // StateMachineVersionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html#cfn-stepfunctions-statemachinealias-deploymentpreference-statemachineversionarn + StateMachineVersionArn string `json:"StateMachineVersionArn"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html#cfn-stepfunctions-statemachinealias-deploymentpreference-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 *StateMachineAlias_DeploymentPreference) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachineAlias.DeploymentPreference" +} diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_routingconfigurationversion.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_routingconfigurationversion.go new file mode 100644 index 0000000000..1efe2e373a --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachinealias_routingconfigurationversion.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package stepfunctions + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StateMachineAlias_RoutingConfigurationVersion AWS CloudFormation Resource (AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-routingconfigurationversion.html +type StateMachineAlias_RoutingConfigurationVersion struct { + + // StateMachineVersionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-routingconfigurationversion.html#cfn-stepfunctions-statemachinealias-routingconfigurationversion-statemachineversionarn + StateMachineVersionArn string `json:"StateMachineVersionArn"` + + // Weight AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-routingconfigurationversion.html#cfn-stepfunctions-statemachinealias-routingconfigurationversion-weight + Weight int `json:"Weight"` + + // 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 *StateMachineAlias_RoutingConfigurationVersion) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" +} diff --git a/cloudformation/stepfunctions/aws-stepfunctions-statemachineversion.go b/cloudformation/stepfunctions/aws-stepfunctions-statemachineversion.go new file mode 100644 index 0000000000..617caa562f --- /dev/null +++ b/cloudformation/stepfunctions/aws-stepfunctions-statemachineversion.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package stepfunctions + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StateMachineVersion AWS CloudFormation Resource (AWS::StepFunctions::StateMachineVersion) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html +type StateMachineVersion struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html#cfn-stepfunctions-statemachineversion-description + Description *string `json:"Description,omitempty"` + + // StateMachineArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html#cfn-stepfunctions-statemachineversion-statemachinearn + StateMachineArn string `json:"StateMachineArn"` + + // StateMachineRevisionId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html#cfn-stepfunctions-statemachineversion-statemachinerevisionid + StateMachineRevisionId *string `json:"StateMachineRevisionId,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 *StateMachineVersion) AWSCloudFormationType() string { + return "AWS::StepFunctions::StateMachineVersion" +} + +// 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 StateMachineVersion) MarshalJSON() ([]byte, error) { + type Properties StateMachineVersion + 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 *StateMachineVersion) UnmarshalJSON(b []byte) error { + type Properties StateMachineVersion + 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 = StateMachineVersion(*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/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index d351be0358..aeb052b688 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -74,6 +74,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-securitypolicyname SecurityPolicyName *string `json:"SecurityPolicyName,omitempty"` + // StructuredLogDestinations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-structuredlogdestinations + StructuredLogDestinations []Server_StructuredLogDestination `json:"StructuredLogDestinations,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-tags diff --git a/cloudformation/transfer/aws-transfer-server_structuredlogdestination.go b/cloudformation/transfer/aws-transfer-server_structuredlogdestination.go new file mode 100644 index 0000000000..6f3bceb56d --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_structuredlogdestination.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Server_StructuredLogDestination AWS CloudFormation Resource (AWS::Transfer::Server.StructuredLogDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-structuredlogdestination.html +type Server_StructuredLogDestination struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Server_StructuredLogDestination) AWSCloudFormationType() string { + return "AWS::Transfer::Server.StructuredLogDestination" +} diff --git a/schema/cdk.go b/schema/cdk.go index 9247d8dd9b..caaee16363 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -22389,6 +22389,9 @@ var CdkSchema = `{ "KeyspaceName": { "type": "string" }, + "ReplicationSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22418,6 +22421,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Cassandra::Keyspace.ReplicationSpecification": { + "additionalProperties": false, + "properties": { + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicationStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -56562,7 +56580,6 @@ var CdkSchema = `{ } }, "required": [ - "Device", "InstanceId", "VolumeId" ], @@ -72980,6 +72997,94 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Glue::DataQualityRuleset": { + "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": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Ruleset": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset.DataQualityTargetTable" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataQualityRuleset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::DataQualityRuleset.DataQualityTargetTable": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database": { "additionalProperties": false, "properties": { @@ -109721,6 +109826,21 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::MediaConnect::Flow.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, "AWS::MediaConnect::Flow.Source": { "additionalProperties": false, "properties": { @@ -109733,6 +109853,9 @@ var CdkSchema = `{ "EntitlementArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.GatewayBridgeSource" + }, "IngestIp": { "type": "string" }, @@ -109796,6 +109919,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::Flow.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { @@ -110108,6 +110240,9 @@ var CdkSchema = `{ "FlowArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.GatewayBridgeSource" + }, "IngestPort": { "type": "number" }, @@ -110211,6 +110346,30 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::FlowSource.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { @@ -122721,6 +122880,67 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Organizations::Organization": { + "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": { + "FeatureSet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Organization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Organizations::OrganizationalUnit": { "additionalProperties": false, "properties": { @@ -179997,6 +180217,15 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AutoEnableControls": { + "type": "boolean" + }, + "ControlFindingGenerator": { + "type": "string" + }, + "EnableDefaultStandards": { + "type": "boolean" + }, "Tags": { "type": "object" } @@ -183248,6 +183477,194 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::StepFunctions::StateMachineAlias": { + "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": { + "DeploymentPreference": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingConfiguration": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Percentage": { + "type": "number" + }, + "StateMachineVersionArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StateMachineVersionArn", + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion": { + "additionalProperties": false, + "properties": { + "StateMachineVersionArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "StateMachineVersionArn", + "Weight" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineVersion": { + "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" + }, + "StateMachineArn": { + "type": "string" + }, + "StateMachineRevisionId": { + "type": "string" + } + }, + "required": [ + "StateMachineArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -184869,6 +185286,12 @@ var CdkSchema = `{ "SecurityPolicyName": { "type": "string" }, + "StructuredLogDestinations": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.StructuredLogDestination" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -184983,6 +185406,11 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.StructuredLogDestination": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::Server.WorkflowDetail": { "additionalProperties": false, "properties": { @@ -193501,6 +193929,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, + { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset" + }, { "$ref": "#/definitions/AWS::Glue::Database" }, @@ -194422,6 +194853,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Organizations::Account" }, + { + "$ref": "#/definitions/AWS::Organizations::Organization" + }, { "$ref": "#/definitions/AWS::Organizations::OrganizationalUnit" }, @@ -195142,6 +195576,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 2b4b84781e..77ba6f3da6 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -22384,6 +22384,9 @@ "KeyspaceName": { "type": "string" }, + "ReplicationSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22413,6 +22416,21 @@ ], "type": "object" }, + "AWS::Cassandra::Keyspace.ReplicationSpecification": { + "additionalProperties": false, + "properties": { + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicationStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -56557,7 +56575,6 @@ } }, "required": [ - "Device", "InstanceId", "VolumeId" ], @@ -72975,6 +72992,94 @@ }, "type": "object" }, + "AWS::Glue::DataQualityRuleset": { + "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": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Ruleset": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset.DataQualityTargetTable" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataQualityRuleset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::DataQualityRuleset.DataQualityTargetTable": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database": { "additionalProperties": false, "properties": { @@ -109716,6 +109821,21 @@ }, "type": "object" }, + "AWS::MediaConnect::Flow.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, "AWS::MediaConnect::Flow.Source": { "additionalProperties": false, "properties": { @@ -109728,6 +109848,9 @@ "EntitlementArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.GatewayBridgeSource" + }, "IngestIp": { "type": "string" }, @@ -109791,6 +109914,15 @@ ], "type": "object" }, + "AWS::MediaConnect::Flow.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { @@ -110103,6 +110235,9 @@ "FlowArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.GatewayBridgeSource" + }, "IngestPort": { "type": "number" }, @@ -110206,6 +110341,30 @@ ], "type": "object" }, + "AWS::MediaConnect::FlowSource.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { @@ -122716,6 +122875,67 @@ ], "type": "object" }, + "AWS::Organizations::Organization": { + "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": { + "FeatureSet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Organization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Organizations::OrganizationalUnit": { "additionalProperties": false, "properties": { @@ -179992,6 +180212,15 @@ "Properties": { "additionalProperties": false, "properties": { + "AutoEnableControls": { + "type": "boolean" + }, + "ControlFindingGenerator": { + "type": "string" + }, + "EnableDefaultStandards": { + "type": "boolean" + }, "Tags": { "type": "object" } @@ -183243,6 +183472,194 @@ }, "type": "object" }, + "AWS::StepFunctions::StateMachineAlias": { + "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": { + "DeploymentPreference": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingConfiguration": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Percentage": { + "type": "number" + }, + "StateMachineVersionArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StateMachineVersionArn", + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion": { + "additionalProperties": false, + "properties": { + "StateMachineVersionArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "StateMachineVersionArn", + "Weight" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineVersion": { + "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" + }, + "StateMachineArn": { + "type": "string" + }, + "StateMachineRevisionId": { + "type": "string" + } + }, + "required": [ + "StateMachineArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -184864,6 +185281,12 @@ "SecurityPolicyName": { "type": "string" }, + "StructuredLogDestinations": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.StructuredLogDestination" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -184978,6 +185401,11 @@ }, "type": "object" }, + "AWS::Transfer::Server.StructuredLogDestination": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::Server.WorkflowDetail": { "additionalProperties": false, "properties": { @@ -193496,6 +193924,9 @@ { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, + { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset" + }, { "$ref": "#/definitions/AWS::Glue::Database" }, @@ -194417,6 +194848,9 @@ { "$ref": "#/definitions/AWS::Organizations::Account" }, + { + "$ref": "#/definitions/AWS::Organizations::Organization" + }, { "$ref": "#/definitions/AWS::Organizations::OrganizationalUnit" }, @@ -195137,6 +195571,12 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 58d4898c72..0330ae6cc7 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -22328,6 +22328,9 @@ var CloudformationSchema = `{ "KeyspaceName": { "type": "string" }, + "ReplicationSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22357,6 +22360,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Cassandra::Keyspace.ReplicationSpecification": { + "additionalProperties": false, + "properties": { + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicationStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -56501,7 +56519,6 @@ var CloudformationSchema = `{ } }, "required": [ - "Device", "InstanceId", "VolumeId" ], @@ -72919,6 +72936,94 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::DataQualityRuleset": { + "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": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Ruleset": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset.DataQualityTargetTable" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataQualityRuleset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::DataQualityRuleset.DataQualityTargetTable": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database": { "additionalProperties": false, "properties": { @@ -109660,6 +109765,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::MediaConnect::Flow.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, "AWS::MediaConnect::Flow.Source": { "additionalProperties": false, "properties": { @@ -109672,6 +109792,9 @@ var CloudformationSchema = `{ "EntitlementArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.GatewayBridgeSource" + }, "IngestIp": { "type": "string" }, @@ -109735,6 +109858,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::Flow.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { @@ -110047,6 +110179,9 @@ var CloudformationSchema = `{ "FlowArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.GatewayBridgeSource" + }, "IngestPort": { "type": "number" }, @@ -110150,6 +110285,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::FlowSource.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { @@ -122660,6 +122819,67 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Organizations::Organization": { + "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": { + "FeatureSet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Organization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Organizations::OrganizationalUnit": { "additionalProperties": false, "properties": { @@ -179936,6 +180156,15 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AutoEnableControls": { + "type": "boolean" + }, + "ControlFindingGenerator": { + "type": "string" + }, + "EnableDefaultStandards": { + "type": "boolean" + }, "Tags": { "type": "object" } @@ -183187,6 +183416,194 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::StepFunctions::StateMachineAlias": { + "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": { + "DeploymentPreference": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingConfiguration": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Percentage": { + "type": "number" + }, + "StateMachineVersionArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StateMachineVersionArn", + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion": { + "additionalProperties": false, + "properties": { + "StateMachineVersionArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "StateMachineVersionArn", + "Weight" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineVersion": { + "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" + }, + "StateMachineArn": { + "type": "string" + }, + "StateMachineRevisionId": { + "type": "string" + } + }, + "required": [ + "StateMachineArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -184808,6 +185225,12 @@ var CloudformationSchema = `{ "SecurityPolicyName": { "type": "string" }, + "StructuredLogDestinations": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.StructuredLogDestination" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -184922,6 +185345,11 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.StructuredLogDestination": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::Server.WorkflowDetail": { "additionalProperties": false, "properties": { @@ -193437,6 +193865,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, + { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset" + }, { "$ref": "#/definitions/AWS::Glue::Database" }, @@ -194358,6 +194789,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Organizations::Account" }, + { + "$ref": "#/definitions/AWS::Organizations::Organization" + }, { "$ref": "#/definitions/AWS::Organizations::OrganizationalUnit" }, @@ -195078,6 +195512,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 134fcdfeea..f97ec6c6bf 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -22323,6 +22323,9 @@ "KeyspaceName": { "type": "string" }, + "ReplicationSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22352,6 +22355,21 @@ ], "type": "object" }, + "AWS::Cassandra::Keyspace.ReplicationSpecification": { + "additionalProperties": false, + "properties": { + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicationStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -56496,7 +56514,6 @@ } }, "required": [ - "Device", "InstanceId", "VolumeId" ], @@ -72914,6 +72931,94 @@ }, "type": "object" }, + "AWS::Glue::DataQualityRuleset": { + "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": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Ruleset": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset.DataQualityTargetTable" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataQualityRuleset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::DataQualityRuleset.DataQualityTargetTable": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database": { "additionalProperties": false, "properties": { @@ -109655,6 +109760,21 @@ }, "type": "object" }, + "AWS::MediaConnect::Flow.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, "AWS::MediaConnect::Flow.Source": { "additionalProperties": false, "properties": { @@ -109667,6 +109787,9 @@ "EntitlementArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.GatewayBridgeSource" + }, "IngestIp": { "type": "string" }, @@ -109730,6 +109853,15 @@ ], "type": "object" }, + "AWS::MediaConnect::Flow.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { @@ -110042,6 +110174,9 @@ "FlowArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.GatewayBridgeSource" + }, "IngestPort": { "type": "number" }, @@ -110145,6 +110280,30 @@ ], "type": "object" }, + "AWS::MediaConnect::FlowSource.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { @@ -122655,6 +122814,67 @@ ], "type": "object" }, + "AWS::Organizations::Organization": { + "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": { + "FeatureSet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Organization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Organizations::OrganizationalUnit": { "additionalProperties": false, "properties": { @@ -179931,6 +180151,15 @@ "Properties": { "additionalProperties": false, "properties": { + "AutoEnableControls": { + "type": "boolean" + }, + "ControlFindingGenerator": { + "type": "string" + }, + "EnableDefaultStandards": { + "type": "boolean" + }, "Tags": { "type": "object" } @@ -183182,6 +183411,194 @@ }, "type": "object" }, + "AWS::StepFunctions::StateMachineAlias": { + "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": { + "DeploymentPreference": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingConfiguration": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Percentage": { + "type": "number" + }, + "StateMachineVersionArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StateMachineVersionArn", + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion": { + "additionalProperties": false, + "properties": { + "StateMachineVersionArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "StateMachineVersionArn", + "Weight" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineVersion": { + "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" + }, + "StateMachineArn": { + "type": "string" + }, + "StateMachineRevisionId": { + "type": "string" + } + }, + "required": [ + "StateMachineArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -184803,6 +185220,12 @@ "SecurityPolicyName": { "type": "string" }, + "StructuredLogDestinations": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.StructuredLogDestination" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -184917,6 +185340,11 @@ }, "type": "object" }, + "AWS::Transfer::Server.StructuredLogDestination": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::Server.WorkflowDetail": { "additionalProperties": false, "properties": { @@ -193432,6 +193860,9 @@ { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, + { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset" + }, { "$ref": "#/definitions/AWS::Glue::Database" }, @@ -194353,6 +194784,9 @@ { "$ref": "#/definitions/AWS::Organizations::Account" }, + { + "$ref": "#/definitions/AWS::Organizations::Organization" + }, { "$ref": "#/definitions/AWS::Organizations::OrganizationalUnit" }, @@ -195073,6 +195507,12 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, diff --git a/schema/sam.go b/schema/sam.go index 47e1ef4826..7ff56f72c3 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -22328,6 +22328,9 @@ var SamSchema = `{ "KeyspaceName": { "type": "string" }, + "ReplicationSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22357,6 +22360,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Cassandra::Keyspace.ReplicationSpecification": { + "additionalProperties": false, + "properties": { + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicationStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -56501,7 +56519,6 @@ var SamSchema = `{ } }, "required": [ - "Device", "InstanceId", "VolumeId" ], @@ -72919,6 +72936,94 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::DataQualityRuleset": { + "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": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Ruleset": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset.DataQualityTargetTable" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataQualityRuleset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::DataQualityRuleset.DataQualityTargetTable": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database": { "additionalProperties": false, "properties": { @@ -109660,6 +109765,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::MediaConnect::Flow.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, "AWS::MediaConnect::Flow.Source": { "additionalProperties": false, "properties": { @@ -109672,6 +109792,9 @@ var SamSchema = `{ "EntitlementArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.GatewayBridgeSource" + }, "IngestIp": { "type": "string" }, @@ -109735,6 +109858,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::Flow.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { @@ -110047,6 +110179,9 @@ var SamSchema = `{ "FlowArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.GatewayBridgeSource" + }, "IngestPort": { "type": "number" }, @@ -110150,6 +110285,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaConnect::FlowSource.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { @@ -122660,6 +122819,67 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Organizations::Organization": { + "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": { + "FeatureSet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Organization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Organizations::OrganizationalUnit": { "additionalProperties": false, "properties": { @@ -179936,6 +180156,15 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AutoEnableControls": { + "type": "boolean" + }, + "ControlFindingGenerator": { + "type": "string" + }, + "EnableDefaultStandards": { + "type": "boolean" + }, "Tags": { "type": "object" } @@ -185902,6 +186131,194 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::StepFunctions::StateMachineAlias": { + "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": { + "DeploymentPreference": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingConfiguration": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Percentage": { + "type": "number" + }, + "StateMachineVersionArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StateMachineVersionArn", + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion": { + "additionalProperties": false, + "properties": { + "StateMachineVersionArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "StateMachineVersionArn", + "Weight" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineVersion": { + "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" + }, + "StateMachineArn": { + "type": "string" + }, + "StateMachineRevisionId": { + "type": "string" + } + }, + "required": [ + "StateMachineArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -187523,6 +187940,12 @@ var SamSchema = `{ "SecurityPolicyName": { "type": "string" }, + "StructuredLogDestinations": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.StructuredLogDestination" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -187637,6 +188060,11 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.StructuredLogDestination": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::Server.WorkflowDetail": { "additionalProperties": false, "properties": { @@ -196444,6 +196872,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, + { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset" + }, { "$ref": "#/definitions/AWS::Glue::Database" }, @@ -197365,6 +197796,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Organizations::Account" }, + { + "$ref": "#/definitions/AWS::Organizations::Organization" + }, { "$ref": "#/definitions/AWS::Organizations::OrganizationalUnit" }, @@ -198106,6 +198540,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 84ee37837d..d6261ec013 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -22323,6 +22323,9 @@ "KeyspaceName": { "type": "string" }, + "ReplicationSpecification": { + "$ref": "#/definitions/AWS::Cassandra::Keyspace.ReplicationSpecification" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -22352,6 +22355,21 @@ ], "type": "object" }, + "AWS::Cassandra::Keyspace.ReplicationSpecification": { + "additionalProperties": false, + "properties": { + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicationStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -56496,7 +56514,6 @@ } }, "required": [ - "Device", "InstanceId", "VolumeId" ], @@ -72914,6 +72931,94 @@ }, "type": "object" }, + "AWS::Glue::DataQualityRuleset": { + "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": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Ruleset": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset.DataQualityTargetTable" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataQualityRuleset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::DataQualityRuleset.DataQualityTargetTable": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database": { "additionalProperties": false, "properties": { @@ -109655,6 +109760,21 @@ }, "type": "object" }, + "AWS::MediaConnect::Flow.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, "AWS::MediaConnect::Flow.Source": { "additionalProperties": false, "properties": { @@ -109667,6 +109787,9 @@ "EntitlementArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.GatewayBridgeSource" + }, "IngestIp": { "type": "string" }, @@ -109730,6 +109853,15 @@ ], "type": "object" }, + "AWS::MediaConnect::Flow.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowEntitlement": { "additionalProperties": false, "properties": { @@ -110042,6 +110174,9 @@ "FlowArn": { "type": "string" }, + "GatewayBridgeSource": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.GatewayBridgeSource" + }, "IngestPort": { "type": "number" }, @@ -110145,6 +110280,30 @@ ], "type": "object" }, + "AWS::MediaConnect::FlowSource.GatewayBridgeSource": { + "additionalProperties": false, + "properties": { + "BridgeArn": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.VpcInterfaceAttachment" + } + }, + "required": [ + "BridgeArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, "AWS::MediaConnect::FlowVpcInterface": { "additionalProperties": false, "properties": { @@ -122655,6 +122814,67 @@ ], "type": "object" }, + "AWS::Organizations::Organization": { + "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": { + "FeatureSet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Organizations::Organization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Organizations::OrganizationalUnit": { "additionalProperties": false, "properties": { @@ -179931,6 +180151,15 @@ "Properties": { "additionalProperties": false, "properties": { + "AutoEnableControls": { + "type": "boolean" + }, + "ControlFindingGenerator": { + "type": "string" + }, + "EnableDefaultStandards": { + "type": "boolean" + }, "Tags": { "type": "object" } @@ -185897,6 +186126,194 @@ }, "type": "object" }, + "AWS::StepFunctions::StateMachineAlias": { + "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": { + "DeploymentPreference": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingConfiguration": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Percentage": { + "type": "number" + }, + "StateMachineVersionArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StateMachineVersionArn", + "Type" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineAlias.RoutingConfigurationVersion": { + "additionalProperties": false, + "properties": { + "StateMachineVersionArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "StateMachineVersionArn", + "Weight" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachineVersion": { + "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" + }, + "StateMachineArn": { + "type": "string" + }, + "StateMachineRevisionId": { + "type": "string" + } + }, + "required": [ + "StateMachineArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachineVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -187518,6 +187935,12 @@ "SecurityPolicyName": { "type": "string" }, + "StructuredLogDestinations": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.StructuredLogDestination" + }, + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -187632,6 +188055,11 @@ }, "type": "object" }, + "AWS::Transfer::Server.StructuredLogDestination": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::Transfer::Server.WorkflowDetail": { "additionalProperties": false, "properties": { @@ -196439,6 +196867,9 @@ { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, + { + "$ref": "#/definitions/AWS::Glue::DataQualityRuleset" + }, { "$ref": "#/definitions/AWS::Glue::Database" }, @@ -197360,6 +197791,9 @@ { "$ref": "#/definitions/AWS::Organizations::Account" }, + { + "$ref": "#/definitions/AWS::Organizations::Organization" + }, { "$ref": "#/definitions/AWS::Organizations::OrganizationalUnit" }, @@ -198101,6 +198535,12 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineAlias" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" + }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" },