From 92fa1e3e8adf95e85b0d39f029a80d51e450437c Mon Sep 17 00:00:00 2001 From: Paul Maddox Date: Sun, 20 Jun 2021 12:06:20 +0400 Subject: [PATCH] feat(schema): CloudFormation Updates (#383) Updated the following AWS CloudFormation resources: - AWS::AutoScaling::AutoScalingGroup - AWS::EC2::NatGateway - AWS::Lambda::Function - AWS::SQS::Queue - AWS::Lambda::LayerVersion - AWS::Redshift::Cluster - AWS::KMS::ReplicaKey - AWS::Cognito::UserPoolClient - AWS::KMS::Key - AWS::RAM::ResourceShare - AWS::SageMaker::CodeRepository - AWS::AutoScaling::ScheduledAction - AWS::Transfer::Server - AWS::CodeGuruReviewer::RepositoryAssociation - AWS::MWAA::Environment - AWS::EKS::Nodegroup - AWS::DataBrew::Recipe.ParameterMap - AWS::AppMesh::Route.HttpPathMatch - AWS::AppMesh::Route.HttpRouteMatch - AWS::AutoScaling::LaunchConfiguration.BlockDevice - AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite - AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite - AWS::Transfer::Server.ProtocolDetails - AWS::AppMesh::GatewayRoute.QueryParameter - AWS::AppMesh::GatewayRoute.HttpPathMatch - AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch - AWS::AppMesh::Route.HttpQueryParameterMatch - AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch - AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader - AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch - AWS::SSMContacts::Contact.ChannelTargetInfo - AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite - AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction - AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata - AWS::DataBrew::Recipe.Action - AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch - AWS::EKS::Nodegroup.UpdateConfig - AWS::SSMContacts::Contact.Targets - AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch - AWS::SSMContacts::Contact.ContactTargetInfo - AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite - AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction - AWS::AppMesh::VirtualNode.DnsServiceDiscovery - AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch - AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch - AWS::AppMesh::Route.QueryParameter - AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite Processed 3354 resources --- cloudformation/all.go | 25 + ...-gatewayroute_gatewayroutehostnamematch.go | 40 ++ ...atewayroute_gatewayroutehostnamerewrite.go | 35 ++ ...-gatewayroute_gatewayroutemetadatamatch.go | 55 ++ ...esh-gatewayroute_gatewayrouterangematch.go | 40 ++ ...esh-gatewayroute_grpcgatewayrouteaction.go | 5 + ...mesh-gatewayroute_grpcgatewayroutematch.go | 10 + ...h-gatewayroute_grpcgatewayroutemetadata.go | 45 ++ ...sh-gatewayroute_grpcgatewayrouterewrite.go | 35 ++ ...esh-gatewayroute_httpgatewayrouteaction.go | 5 + ...esh-gatewayroute_httpgatewayrouteheader.go | 45 ++ ...atewayroute_httpgatewayrouteheadermatch.go | 55 ++ ...mesh-gatewayroute_httpgatewayroutematch.go | 27 +- ...atewayroute_httpgatewayroutepathrewrite.go | 35 ++ ...ewayroute_httpgatewayrouteprefixrewrite.go | 40 ++ ...sh-gatewayroute_httpgatewayrouterewrite.go | 45 ++ .../aws-appmesh-gatewayroute_httppathmatch.go | 40 ++ ...sh-gatewayroute_httpqueryparametermatch.go | 35 ++ ...aws-appmesh-gatewayroute_queryparameter.go | 40 ++ .../aws-appmesh-route_httppathmatch.go | 40 ++ ...s-appmesh-route_httpqueryparametermatch.go | 35 ++ .../aws-appmesh-route_httproutematch.go | 12 +- .../aws-appmesh-route_queryparameter.go | 40 ++ ...appmesh-virtualnode_dnsservicediscovery.go | 5 + .../aws-autoscaling-autoscalinggroup.go | 5 + ...scaling-launchconfiguration_blockdevice.go | 5 + .../aws-autoscaling-scheduledaction.go | 5 + ...-codegurureviewer-repositoryassociation.go | 5 + .../cognito/aws-cognito-userpoolclient.go | 5 + .../databrew/aws-databrew-recipe_action.go | 2 +- .../aws-databrew-recipe_parametermap.go | 30 ++ cloudformation/ec2/aws-ec2-natgateway.go | 7 +- cloudformation/eks/aws-eks-nodegroup.go | 5 + .../eks/aws-eks-nodegroup_updateconfig.go | 40 ++ cloudformation/kms/aws-kms-key.go | 5 + cloudformation/kms/aws-kms-replicakey.go | 132 +++++ cloudformation/lambda/aws-lambda-function.go | 5 - .../lambda/aws-lambda-layerversion.go | 5 - cloudformation/mwaa/aws-mwaa-environment.go | 5 + cloudformation/ram/aws-ram-resourceshare.go | 5 + .../redshift/aws-redshift-cluster.go | 11 +- .../sagemaker/aws-sagemaker-coderepository.go | 6 + cloudformation/sqs/aws-sqs-queue.go | 10 + ...s-ssmcontacts-contact_channeltargetinfo.go | 40 ++ ...s-ssmcontacts-contact_contacttargetinfo.go | 40 ++ .../aws-ssmcontacts-contact_targets.go | 4 +- .../transfer/aws-transfer-server.go | 5 + .../aws-transfer-server_protocoldetails.go | 35 ++ schema/cloudformation.go | 491 +++++++++++++++++- schema/cloudformation.schema.json | 491 +++++++++++++++++- schema/sam.go | 491 +++++++++++++++++- schema/sam.schema.json | 491 +++++++++++++++++- 52 files changed, 3083 insertions(+), 87 deletions(-) create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamematch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamerewrite.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutemetadatamatch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayrouterangematch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutemetadata.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouterewrite.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheader.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheadermatch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutepathrewrite.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteprefixrewrite.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouterewrite.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httppathmatch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_httpqueryparametermatch.go create mode 100644 cloudformation/appmesh/aws-appmesh-gatewayroute_queryparameter.go create mode 100644 cloudformation/appmesh/aws-appmesh-route_httppathmatch.go create mode 100644 cloudformation/appmesh/aws-appmesh-route_httpqueryparametermatch.go create mode 100644 cloudformation/appmesh/aws-appmesh-route_queryparameter.go create mode 100644 cloudformation/databrew/aws-databrew-recipe_parametermap.go create mode 100644 cloudformation/eks/aws-eks-nodegroup_updateconfig.go create mode 100644 cloudformation/kms/aws-kms-replicakey.go create mode 100644 cloudformation/ssmcontacts/aws-ssmcontacts-contact_channeltargetinfo.go create mode 100644 cloudformation/ssmcontacts/aws-ssmcontacts-contact_contacttargetinfo.go create mode 100644 cloudformation/transfer/aws-transfer-server_protocoldetails.go diff --git a/cloudformation/all.go b/cloudformation/all.go index dcb13b6d25..ed5f503e14 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -645,6 +645,7 @@ func AllResources() map[string]Resource { "AWS::IoTWireless::WirelessGateway": &iotwireless.WirelessGateway{}, "AWS::KMS::Alias": &kms.Alias{}, "AWS::KMS::Key": &kms.Key{}, + "AWS::KMS::ReplicaKey": &kms.ReplicaKey{}, "AWS::Kendra::DataSource": &kendra.DataSource{}, "AWS::Kendra::Faq": &kendra.Faq{}, "AWS::Kendra::Index": &kendra.Index{}, @@ -12305,6 +12306,30 @@ func (t *Template) GetKMSKeyWithName(name string) (*kms.Key, error) { return nil, fmt.Errorf("resource %q of type kms.Key not found", name) } +// GetAllKMSReplicaKeyResources retrieves all kms.ReplicaKey items from an AWS CloudFormation template +func (t *Template) GetAllKMSReplicaKeyResources() map[string]*kms.ReplicaKey { + results := map[string]*kms.ReplicaKey{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *kms.ReplicaKey: + results[name] = resource + } + } + return results +} + +// GetKMSReplicaKeyWithName retrieves all kms.ReplicaKey items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetKMSReplicaKeyWithName(name string) (*kms.ReplicaKey, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *kms.ReplicaKey: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type kms.ReplicaKey not found", name) +} + // GetAllKendraDataSourceResources retrieves all kendra.DataSource items from an AWS CloudFormation template func (t *Template) GetAllKendraDataSourceResources() map[string]*kendra.DataSource { results := map[string]*kendra.DataSource{} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamematch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamematch.go new file mode 100644 index 0000000000..9b72bb980a --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamematch.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteHostnameMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html +type GatewayRoute_GatewayRouteHostnameMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html#cfn-appmesh-gatewayroute-gatewayroutehostnamematch-exact + Exact string `json:"Exact,omitempty"` + + // Suffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html#cfn-appmesh-gatewayroute-gatewayroutehostnamematch-suffix + Suffix string `json:"Suffix,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 *GatewayRoute_GatewayRouteHostnameMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamerewrite.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamerewrite.go new file mode 100644 index 0000000000..07da5be477 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutehostnamerewrite.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteHostnameRewrite AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamerewrite.html +type GatewayRoute_GatewayRouteHostnameRewrite struct { + + // DefaultTargetHostname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamerewrite.html#cfn-appmesh-gatewayroute-gatewayroutehostnamerewrite-defaulttargethostname + DefaultTargetHostname string `json:"DefaultTargetHostname,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 *GatewayRoute_GatewayRouteHostnameRewrite) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutemetadatamatch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutemetadatamatch.go new file mode 100644 index 0000000000..7d89212a96 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayroutemetadatamatch.go @@ -0,0 +1,55 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteMetadataMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html +type GatewayRoute_GatewayRouteMetadataMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-exact + Exact string `json:"Exact,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-prefix + Prefix string `json:"Prefix,omitempty"` + + // Range AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-range + Range *GatewayRoute_GatewayRouteRangeMatch `json:"Range,omitempty"` + + // Regex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-regex + Regex string `json:"Regex,omitempty"` + + // Suffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutemetadatamatch.html#cfn-appmesh-gatewayroute-gatewayroutemetadatamatch-suffix + Suffix string `json:"Suffix,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 *GatewayRoute_GatewayRouteMetadataMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayrouterangematch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayrouterangematch.go new file mode 100644 index 0000000000..9e31ee53a6 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_gatewayrouterangematch.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_GatewayRouteRangeMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayrouterangematch.html +type GatewayRoute_GatewayRouteRangeMatch struct { + + // End AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayrouterangematch.html#cfn-appmesh-gatewayroute-gatewayrouterangematch-end + End int `json:"End"` + + // Start AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayrouterangematch.html#cfn-appmesh-gatewayroute-gatewayrouterangematch-start + Start int `json:"Start"` + + // 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 *GatewayRoute_GatewayRouteRangeMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go index d3776bbf29..dc97d7d079 100644 --- a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouteaction.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html type GatewayRoute_GrpcGatewayRouteAction struct { + // Rewrite AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-rewrite + Rewrite *GatewayRoute_GrpcGatewayRouteRewrite `json:"Rewrite,omitempty"` + // Target AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouteaction.html#cfn-appmesh-gatewayroute-grpcgatewayrouteaction-target diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go index 38fad98d3b..35c953f739 100644 --- a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutematch.go @@ -8,6 +8,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html type GatewayRoute_GrpcGatewayRouteMatch struct { + // Hostname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-hostname + Hostname *GatewayRoute_GatewayRouteHostnameMatch `json:"Hostname,omitempty"` + + // Metadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-metadata + Metadata []GatewayRoute_GrpcGatewayRouteMetadata `json:"Metadata,omitempty"` + // ServiceName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutematch.html#cfn-appmesh-gatewayroute-grpcgatewayroutematch-servicename diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutemetadata.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutemetadata.go new file mode 100644 index 0000000000..2bb5a944b7 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayroutemetadata.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_GrpcGatewayRouteMetadata AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html +type GatewayRoute_GrpcGatewayRouteMetadata struct { + + // Invert AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html#cfn-appmesh-gatewayroute-grpcgatewayroutemetadata-invert + Invert bool `json:"Invert,omitempty"` + + // Match AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html#cfn-appmesh-gatewayroute-grpcgatewayroutemetadata-match + Match *GatewayRoute_GatewayRouteMetadataMatch `json:"Match,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayroutemetadata.html#cfn-appmesh-gatewayroute-grpcgatewayroutemetadata-name + Name string `json:"Name,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 *GatewayRoute_GrpcGatewayRouteMetadata) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouterewrite.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouterewrite.go new file mode 100644 index 0000000000..42f3d08b7a --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_grpcgatewayrouterewrite.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_GrpcGatewayRouteRewrite AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouterewrite.html +type GatewayRoute_GrpcGatewayRouteRewrite struct { + + // Hostname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-grpcgatewayrouterewrite.html#cfn-appmesh-gatewayroute-grpcgatewayrouterewrite-hostname + Hostname *GatewayRoute_GatewayRouteHostnameRewrite `json:"Hostname,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 *GatewayRoute_GrpcGatewayRouteRewrite) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go index 3889dd9170..d48241acf7 100644 --- a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteaction.go @@ -8,6 +8,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html type GatewayRoute_HttpGatewayRouteAction struct { + // Rewrite AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-rewrite + Rewrite *GatewayRoute_HttpGatewayRouteRewrite `json:"Rewrite,omitempty"` + // Target AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteaction.html#cfn-appmesh-gatewayroute-httpgatewayrouteaction-target diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheader.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheader.go new file mode 100644 index 0000000000..ba640bd1bb --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheader.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRouteHeader AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html +type GatewayRoute_HttpGatewayRouteHeader struct { + + // Invert AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html#cfn-appmesh-gatewayroute-httpgatewayrouteheader-invert + Invert bool `json:"Invert,omitempty"` + + // Match AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html#cfn-appmesh-gatewayroute-httpgatewayrouteheader-match + Match *GatewayRoute_HttpGatewayRouteHeaderMatch `json:"Match,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheader.html#cfn-appmesh-gatewayroute-httpgatewayrouteheader-name + Name string `json:"Name,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 *GatewayRoute_HttpGatewayRouteHeader) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheadermatch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheadermatch.go new file mode 100644 index 0000000000..b7e26686d5 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteheadermatch.go @@ -0,0 +1,55 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRouteHeaderMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html +type GatewayRoute_HttpGatewayRouteHeaderMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-exact + Exact string `json:"Exact,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-prefix + Prefix string `json:"Prefix,omitempty"` + + // Range AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-range + Range *GatewayRoute_GatewayRouteRangeMatch `json:"Range,omitempty"` + + // Regex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-regex + Regex string `json:"Regex,omitempty"` + + // Suffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteheadermatch.html#cfn-appmesh-gatewayroute-httpgatewayrouteheadermatch-suffix + Suffix string `json:"Suffix,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 *GatewayRoute_HttpGatewayRouteHeaderMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go index 53a7b02c44..7845e05916 100644 --- a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutematch.go @@ -8,11 +8,36 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html type GatewayRoute_HttpGatewayRouteMatch struct { + // Headers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-headers + Headers []GatewayRoute_HttpGatewayRouteHeader `json:"Headers,omitempty"` + + // Hostname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-hostname + Hostname *GatewayRoute_GatewayRouteHostnameMatch `json:"Hostname,omitempty"` + + // Method AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-method + Method string `json:"Method,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-path + Path *GatewayRoute_HttpPathMatch `json:"Path,omitempty"` + // Prefix AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-prefix Prefix string `json:"Prefix,omitempty"` + // QueryParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutematch.html#cfn-appmesh-gatewayroute-httpgatewayroutematch-queryparameters + QueryParameters []GatewayRoute_QueryParameter `json:"QueryParameters,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutepathrewrite.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutepathrewrite.go new file mode 100644 index 0000000000..0dcc90c574 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayroutepathrewrite.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRoutePathRewrite AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutepathrewrite.html +type GatewayRoute_HttpGatewayRoutePathRewrite struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroutepathrewrite.html#cfn-appmesh-gatewayroute-httpgatewayroutepathrewrite-exact + Exact string `json:"Exact,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 *GatewayRoute_HttpGatewayRoutePathRewrite) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteprefixrewrite.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteprefixrewrite.go new file mode 100644 index 0000000000..f84271647d --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouteprefixrewrite.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRoutePrefixRewrite AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteprefixrewrite.html +type GatewayRoute_HttpGatewayRoutePrefixRewrite struct { + + // DefaultPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteprefixrewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouteprefixrewrite-defaultprefix + DefaultPrefix string `json:"DefaultPrefix,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouteprefixrewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouteprefixrewrite-value + Value string `json:"Value,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 *GatewayRoute_HttpGatewayRoutePrefixRewrite) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouterewrite.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouterewrite.go new file mode 100644 index 0000000000..f348a76a45 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpgatewayrouterewrite.go @@ -0,0 +1,45 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpGatewayRouteRewrite AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html +type GatewayRoute_HttpGatewayRouteRewrite struct { + + // Hostname AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouterewrite-hostname + Hostname *GatewayRoute_GatewayRouteHostnameRewrite `json:"Hostname,omitempty"` + + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouterewrite-path + Path *GatewayRoute_HttpGatewayRoutePathRewrite `json:"Path,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayrouterewrite.html#cfn-appmesh-gatewayroute-httpgatewayrouterewrite-prefix + Prefix *GatewayRoute_HttpGatewayRoutePrefixRewrite `json:"Prefix,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 *GatewayRoute_HttpGatewayRouteRewrite) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httppathmatch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httppathmatch.go new file mode 100644 index 0000000000..ad50914d43 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httppathmatch.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpPathMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpPathMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httppathmatch.html +type GatewayRoute_HttpPathMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httppathmatch.html#cfn-appmesh-gatewayroute-httppathmatch-exact + Exact string `json:"Exact,omitempty"` + + // Regex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httppathmatch.html#cfn-appmesh-gatewayroute-httppathmatch-regex + Regex string `json:"Regex,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 *GatewayRoute_HttpPathMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpPathMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_httpqueryparametermatch.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpqueryparametermatch.go new file mode 100644 index 0000000000..d41b179ead --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_httpqueryparametermatch.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_HttpQueryParameterMatch AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpqueryparametermatch.html +type GatewayRoute_HttpQueryParameterMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpqueryparametermatch.html#cfn-appmesh-gatewayroute-httpqueryparametermatch-exact + Exact string `json:"Exact,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 *GatewayRoute_HttpQueryParameterMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-gatewayroute_queryparameter.go b/cloudformation/appmesh/aws-appmesh-gatewayroute_queryparameter.go new file mode 100644 index 0000000000..389cb99c85 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-gatewayroute_queryparameter.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// GatewayRoute_QueryParameter AWS CloudFormation Resource (AWS::AppMesh::GatewayRoute.QueryParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-queryparameter.html +type GatewayRoute_QueryParameter struct { + + // Match AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-queryparameter.html#cfn-appmesh-gatewayroute-queryparameter-match + Match *GatewayRoute_HttpQueryParameterMatch `json:"Match,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-queryparameter.html#cfn-appmesh-gatewayroute-queryparameter-name + Name string `json:"Name,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 *GatewayRoute_QueryParameter) AWSCloudFormationType() string { + return "AWS::AppMesh::GatewayRoute.QueryParameter" +} diff --git a/cloudformation/appmesh/aws-appmesh-route_httppathmatch.go b/cloudformation/appmesh/aws-appmesh-route_httppathmatch.go new file mode 100644 index 0000000000..0db41c9ac2 --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-route_httppathmatch.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Route_HttpPathMatch AWS CloudFormation Resource (AWS::AppMesh::Route.HttpPathMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html +type Route_HttpPathMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html#cfn-appmesh-route-httppathmatch-exact + Exact string `json:"Exact,omitempty"` + + // Regex AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html#cfn-appmesh-route-httppathmatch-regex + Regex string `json:"Regex,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 *Route_HttpPathMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::Route.HttpPathMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-route_httpqueryparametermatch.go b/cloudformation/appmesh/aws-appmesh-route_httpqueryparametermatch.go new file mode 100644 index 0000000000..16a88e4b5f --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-route_httpqueryparametermatch.go @@ -0,0 +1,35 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Route_HttpQueryParameterMatch AWS CloudFormation Resource (AWS::AppMesh::Route.HttpQueryParameterMatch) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpqueryparametermatch.html +type Route_HttpQueryParameterMatch struct { + + // Exact AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpqueryparametermatch.html#cfn-appmesh-route-httpqueryparametermatch-exact + Exact string `json:"Exact,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 *Route_HttpQueryParameterMatch) AWSCloudFormationType() string { + return "AWS::AppMesh::Route.HttpQueryParameterMatch" +} diff --git a/cloudformation/appmesh/aws-appmesh-route_httproutematch.go b/cloudformation/appmesh/aws-appmesh-route_httproutematch.go index 27d7e1e43f..52970a937b 100644 --- a/cloudformation/appmesh/aws-appmesh-route_httproutematch.go +++ b/cloudformation/appmesh/aws-appmesh-route_httproutematch.go @@ -18,11 +18,21 @@ type Route_HttpRouteMatch struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-method Method string `json:"Method,omitempty"` + // Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-path + Path *Route_HttpPathMatch `json:"Path,omitempty"` + // Prefix AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-prefix Prefix string `json:"Prefix,omitempty"` + // QueryParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-queryparameters + QueryParameters []Route_QueryParameter `json:"QueryParameters,omitempty"` + // Scheme AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-scheme diff --git a/cloudformation/appmesh/aws-appmesh-route_queryparameter.go b/cloudformation/appmesh/aws-appmesh-route_queryparameter.go new file mode 100644 index 0000000000..2e851d4a5b --- /dev/null +++ b/cloudformation/appmesh/aws-appmesh-route_queryparameter.go @@ -0,0 +1,40 @@ +package appmesh + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Route_QueryParameter AWS CloudFormation Resource (AWS::AppMesh::Route.QueryParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html +type Route_QueryParameter struct { + + // Match AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html#cfn-appmesh-route-queryparameter-match + Match *Route_HttpQueryParameterMatch `json:"Match,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html#cfn-appmesh-route-queryparameter-name + Name string `json:"Name,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 *Route_QueryParameter) AWSCloudFormationType() string { + return "AWS::AppMesh::Route.QueryParameter" +} diff --git a/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go b/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go index 8632c85b6f..81471689d3 100644 --- a/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go +++ b/cloudformation/appmesh/aws-appmesh-virtualnode_dnsservicediscovery.go @@ -13,6 +13,11 @@ type VirtualNode_DnsServiceDiscovery struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-hostname Hostname string `json:"Hostname,omitempty"` + // ResponseType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-responsetype + ResponseType string `json:"ResponseType,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index ad7dabeb04..c0f49d8439 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -27,6 +27,11 @@ type AutoScalingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-capacityrebalance CapacityRebalance bool `json:"CapacityRebalance,omitempty"` + // Context AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-context + Context string `json:"Context,omitempty"` + // Cooldown AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown diff --git a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go index 2a518ea03f..36fb5dbc16 100644 --- a/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go +++ b/cloudformation/autoscaling/aws-autoscaling-launchconfiguration_blockdevice.go @@ -28,6 +28,11 @@ type LaunchConfiguration_BlockDevice struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-snapshotid SnapshotId string `json:"SnapshotId,omitempty"` + // Throughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-throughput + Throughput int `json:"Throughput,omitempty"` + // VolumeSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-volumesize diff --git a/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go b/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go index b6833ea275..fc1bd15acf 100644 --- a/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go +++ b/cloudformation/autoscaling/aws-autoscaling-scheduledaction.go @@ -47,6 +47,11 @@ type ScheduledAction struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-starttime StartTime string `json:"StartTime,omitempty"` + // TimeZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-timezone + TimeZone string `json:"TimeZone,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go b/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go index 362b8b0c0d..0da1bb9bb1 100644 --- a/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go +++ b/cloudformation/codegurureviewer/aws-codegurureviewer-repositoryassociation.go @@ -13,6 +13,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html type RepositoryAssociation struct { + // BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-bucketname + BucketName string `json:"BucketName,omitempty"` + // ConnectionArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html#cfn-codegurureviewer-repositoryassociation-connectionarn diff --git a/cloudformation/cognito/aws-cognito-userpoolclient.go b/cloudformation/cognito/aws-cognito-userpoolclient.go index b69007b95a..bfaa09d62d 100644 --- a/cloudformation/cognito/aws-cognito-userpoolclient.go +++ b/cloudformation/cognito/aws-cognito-userpoolclient.go @@ -52,6 +52,11 @@ type UserPoolClient struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-defaultredirecturi DefaultRedirectURI string `json:"DefaultRedirectURI,omitempty"` + // EnableTokenRevocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-enabletokenrevocation + EnableTokenRevocation bool `json:"EnableTokenRevocation,omitempty"` + // ExplicitAuthFlows AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows diff --git a/cloudformation/databrew/aws-databrew-recipe_action.go b/cloudformation/databrew/aws-databrew-recipe_action.go index 827a51c691..cf43ed3616 100644 --- a/cloudformation/databrew/aws-databrew-recipe_action.go +++ b/cloudformation/databrew/aws-databrew-recipe_action.go @@ -16,7 +16,7 @@ type Recipe_Action struct { // Parameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-action.html#cfn-databrew-recipe-action-parameters - Parameters interface{} `json:"Parameters,omitempty"` + Parameters *Recipe_ParameterMap `json:"Parameters,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/databrew/aws-databrew-recipe_parametermap.go b/cloudformation/databrew/aws-databrew-recipe_parametermap.go new file mode 100644 index 0000000000..c9f250ed65 --- /dev/null +++ b/cloudformation/databrew/aws-databrew-recipe_parametermap.go @@ -0,0 +1,30 @@ +package databrew + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Recipe_ParameterMap AWS CloudFormation Resource (AWS::DataBrew::Recipe.ParameterMap) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-recipe-parametermap.html +type Recipe_ParameterMap 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 *Recipe_ParameterMap) AWSCloudFormationType() string { + return "AWS::DataBrew::Recipe.ParameterMap" +} diff --git a/cloudformation/ec2/aws-ec2-natgateway.go b/cloudformation/ec2/aws-ec2-natgateway.go index fef5af593b..8e0830f614 100644 --- a/cloudformation/ec2/aws-ec2-natgateway.go +++ b/cloudformation/ec2/aws-ec2-natgateway.go @@ -14,10 +14,15 @@ import ( type NatGateway struct { // AllocationId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-allocationid AllocationId string `json:"AllocationId,omitempty"` + // ConnectivityType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-connectivitytype + ConnectivityType string `json:"ConnectivityType,omitempty"` + // SubnetId AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid diff --git a/cloudformation/eks/aws-eks-nodegroup.go b/cloudformation/eks/aws-eks-nodegroup.go index 8447e7f6c3..aa145880cd 100644 --- a/cloudformation/eks/aws-eks-nodegroup.go +++ b/cloudformation/eks/aws-eks-nodegroup.go @@ -92,6 +92,11 @@ type Nodegroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-taints Taints []Nodegroup_Taint `json:"Taints,omitempty"` + // UpdateConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-updateconfig + UpdateConfig *Nodegroup_UpdateConfig `json:"UpdateConfig,omitempty"` + // Version AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-version diff --git a/cloudformation/eks/aws-eks-nodegroup_updateconfig.go b/cloudformation/eks/aws-eks-nodegroup_updateconfig.go new file mode 100644 index 0000000000..4e3be2d4b9 --- /dev/null +++ b/cloudformation/eks/aws-eks-nodegroup_updateconfig.go @@ -0,0 +1,40 @@ +package eks + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Nodegroup_UpdateConfig AWS CloudFormation Resource (AWS::EKS::Nodegroup.UpdateConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html +type Nodegroup_UpdateConfig struct { + + // MaxUnavailable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html#cfn-eks-nodegroup-updateconfig-maxunavailable + MaxUnavailable float64 `json:"MaxUnavailable,omitempty"` + + // MaxUnavailablePercentage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html#cfn-eks-nodegroup-updateconfig-maxunavailablepercentage + MaxUnavailablePercentage float64 `json:"MaxUnavailablePercentage,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 *Nodegroup_UpdateConfig) AWSCloudFormationType() string { + return "AWS::EKS::Nodegroup.UpdateConfig" +} diff --git a/cloudformation/kms/aws-kms-key.go b/cloudformation/kms/aws-kms-key.go index 13951185e7..21c01ddc09 100644 --- a/cloudformation/kms/aws-kms-key.go +++ b/cloudformation/kms/aws-kms-key.go @@ -43,6 +43,11 @@ type Key struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keyusage KeyUsage string `json:"KeyUsage,omitempty"` + // MultiRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-multiregion + MultiRegion bool `json:"MultiRegion,omitempty"` + // PendingWindowInDays AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-pendingwindowindays diff --git a/cloudformation/kms/aws-kms-replicakey.go b/cloudformation/kms/aws-kms-replicakey.go new file mode 100644 index 0000000000..a885b9ff5d --- /dev/null +++ b/cloudformation/kms/aws-kms-replicakey.go @@ -0,0 +1,132 @@ +package kms + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" +) + +// ReplicaKey AWS CloudFormation Resource (AWS::KMS::ReplicaKey) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html +type ReplicaKey struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html#cfn-kms-replicakey-description + Description string `json:"Description,omitempty"` + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html#cfn-kms-replicakey-enabled + Enabled bool `json:"Enabled,omitempty"` + + // KeyPolicy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html#cfn-kms-replicakey-keypolicy + KeyPolicy interface{} `json:"KeyPolicy,omitempty"` + + // PendingWindowInDays AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html#cfn-kms-replicakey-pendingwindowindays + PendingWindowInDays int `json:"PendingWindowInDays,omitempty"` + + // PrimaryKeyArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html#cfn-kms-replicakey-primarykeyarn + PrimaryKeyArn string `json:"PrimaryKeyArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html#cfn-kms-replicakey-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ReplicaKey) AWSCloudFormationType() string { + return "AWS::KMS::ReplicaKey" +} + +// 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 ReplicaKey) MarshalJSON() ([]byte, error) { + type Properties ReplicaKey + 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 *ReplicaKey) UnmarshalJSON(b []byte) error { + type Properties ReplicaKey + res := &struct { + Type string + Properties *Properties + DependsOn []string + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ReplicaKey(*res.Properties) + } + if res.DependsOn != nil { + r.AWSCloudFormationDependsOn = res.DependsOn + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/lambda/aws-lambda-function.go b/cloudformation/lambda/aws-lambda-function.go index 166c55622f..1bca566416 100644 --- a/cloudformation/lambda/aws-lambda-function.go +++ b/cloudformation/lambda/aws-lambda-function.go @@ -53,11 +53,6 @@ type Function struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler Handler string `json:"Handler,omitempty"` - // Id AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-id - Id string `json:"Id,omitempty"` - // ImageConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig diff --git a/cloudformation/lambda/aws-lambda-layerversion.go b/cloudformation/lambda/aws-lambda-layerversion.go index 65bd4018a3..dfff8f3f3c 100644 --- a/cloudformation/lambda/aws-lambda-layerversion.go +++ b/cloudformation/lambda/aws-lambda-layerversion.go @@ -12,11 +12,6 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html type LayerVersion struct { - // CompatibleArchitectures AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatiblearchitectures - CompatibleArchitectures []string `json:"CompatibleArchitectures,omitempty"` - // CompatibleRuntimes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatibleruntimes diff --git a/cloudformation/mwaa/aws-mwaa-environment.go b/cloudformation/mwaa/aws-mwaa-environment.go index ee9eaebd3a..81d5775e47 100644 --- a/cloudformation/mwaa/aws-mwaa-environment.go +++ b/cloudformation/mwaa/aws-mwaa-environment.go @@ -87,6 +87,11 @@ type Environment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-requirementss3path RequirementsS3Path string `json:"RequirementsS3Path,omitempty"` + // Schedulers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-schedulers + Schedulers int `json:"Schedulers,omitempty"` + // SourceBucketArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-sourcebucketarn diff --git a/cloudformation/ram/aws-ram-resourceshare.go b/cloudformation/ram/aws-ram-resourceshare.go index bd1f1af722..d9ca78306b 100644 --- a/cloudformation/ram/aws-ram-resourceshare.go +++ b/cloudformation/ram/aws-ram-resourceshare.go @@ -23,6 +23,11 @@ type ResourceShare struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-name Name string `json:"Name,omitempty"` + // PermissionArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-permissionarns + PermissionArns []string `json:"PermissionArns,omitempty"` + // Principals AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-principals diff --git a/cloudformation/redshift/aws-redshift-cluster.go b/cloudformation/redshift/aws-redshift-cluster.go index 7c48b3b511..3c499023b0 100644 --- a/cloudformation/redshift/aws-redshift-cluster.go +++ b/cloudformation/redshift/aws-redshift-cluster.go @@ -73,14 +73,19 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-encrypted Encrypted bool `json:"Encrypted,omitempty"` + // Endpoint AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-endpoint + Endpoint interface{} `json:"Endpoint,omitempty"` + // HsmClientCertificateIdentifier AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-hsmclientcertidentifier + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-hsmclientcertificateidentifier HsmClientCertificateIdentifier string `json:"HsmClientCertificateIdentifier,omitempty"` // HsmConfigurationIdentifier AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-HsmConfigurationIdentifier + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-hsmconfigurationidentifier HsmConfigurationIdentifier string `json:"HsmConfigurationIdentifier,omitempty"` // IamRoles AWS CloudFormation Property @@ -115,7 +120,7 @@ type Cluster struct { // NumberOfNodes AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-numberofnodes NumberOfNodes int `json:"NumberOfNodes,omitempty"` // OwnerAccount AWS CloudFormation Property diff --git a/cloudformation/sagemaker/aws-sagemaker-coderepository.go b/cloudformation/sagemaker/aws-sagemaker-coderepository.go index cd1854bbd7..8ce398157b 100644 --- a/cloudformation/sagemaker/aws-sagemaker-coderepository.go +++ b/cloudformation/sagemaker/aws-sagemaker-coderepository.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/awslabs/goformation/v5/cloudformation/policies" + "github.com/awslabs/goformation/v5/cloudformation/tags" ) // CodeRepository AWS CloudFormation Resource (AWS::SageMaker::CodeRepository) @@ -22,6 +23,11 @@ type CodeRepository struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-gitconfig GitConfig *CodeRepository_GitConfig `json:"GitConfig,omitempty"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sqs/aws-sqs-queue.go b/cloudformation/sqs/aws-sqs-queue.go index cbec31e5c5..434a30e110 100644 --- a/cloudformation/sqs/aws-sqs-queue.go +++ b/cloudformation/sqs/aws-sqs-queue.go @@ -18,6 +18,11 @@ type Queue struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-contentbaseddeduplication ContentBasedDeduplication bool `json:"ContentBasedDeduplication,omitempty"` + // DeduplicationScope AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-deduplicationscope + DeduplicationScope string `json:"DeduplicationScope,omitempty"` + // DelaySeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-delayseconds @@ -28,6 +33,11 @@ type Queue struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-fifoqueue FifoQueue bool `json:"FifoQueue,omitempty"` + // FifoThroughputLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-fifothroughputlimit + FifoThroughputLimit string `json:"FifoThroughputLimit,omitempty"` + // KmsDataKeyReusePeriodSeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsdatakeyreuseperiodseconds diff --git a/cloudformation/ssmcontacts/aws-ssmcontacts-contact_channeltargetinfo.go b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_channeltargetinfo.go new file mode 100644 index 0000000000..3c1bf36ed6 --- /dev/null +++ b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_channeltargetinfo.go @@ -0,0 +1,40 @@ +package ssmcontacts + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Contact_ChannelTargetInfo AWS CloudFormation Resource (AWS::SSMContacts::Contact.ChannelTargetInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-channeltargetinfo.html +type Contact_ChannelTargetInfo struct { + + // ChannelId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-channeltargetinfo.html#cfn-ssmcontacts-contact-channeltargetinfo-channelid + ChannelId string `json:"ChannelId,omitempty"` + + // RetryIntervalInMinutes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-channeltargetinfo.html#cfn-ssmcontacts-contact-channeltargetinfo-retryintervalinminutes + RetryIntervalInMinutes int `json:"RetryIntervalInMinutes"` + + // 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 *Contact_ChannelTargetInfo) AWSCloudFormationType() string { + return "AWS::SSMContacts::Contact.ChannelTargetInfo" +} diff --git a/cloudformation/ssmcontacts/aws-ssmcontacts-contact_contacttargetinfo.go b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_contacttargetinfo.go new file mode 100644 index 0000000000..d566ce1511 --- /dev/null +++ b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_contacttargetinfo.go @@ -0,0 +1,40 @@ +package ssmcontacts + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Contact_ContactTargetInfo AWS CloudFormation Resource (AWS::SSMContacts::Contact.ContactTargetInfo) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-contacttargetinfo.html +type Contact_ContactTargetInfo struct { + + // ContactId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-contacttargetinfo.html#cfn-ssmcontacts-contact-contacttargetinfo-contactid + ContactId string `json:"ContactId,omitempty"` + + // IsEssential AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-contacttargetinfo.html#cfn-ssmcontacts-contact-contacttargetinfo-isessential + IsEssential bool `json:"IsEssential"` + + // 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 *Contact_ContactTargetInfo) AWSCloudFormationType() string { + return "AWS::SSMContacts::Contact.ContactTargetInfo" +} diff --git a/cloudformation/ssmcontacts/aws-ssmcontacts-contact_targets.go b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_targets.go index bad1a79ceb..554bab4602 100644 --- a/cloudformation/ssmcontacts/aws-ssmcontacts-contact_targets.go +++ b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_targets.go @@ -11,12 +11,12 @@ type Contact_Targets struct { // ChannelTargetInfo AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-targets.html#cfn-ssmcontacts-contact-targets-channeltargetinfo - ChannelTargetInfo interface{} `json:"ChannelTargetInfo,omitempty"` + ChannelTargetInfo *Contact_ChannelTargetInfo `json:"ChannelTargetInfo,omitempty"` // ContactTargetInfo AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-targets.html#cfn-ssmcontacts-contact-targets-contacttargetinfo - ContactTargetInfo interface{} `json:"ContactTargetInfo,omitempty"` + ContactTargetInfo *Contact_ContactTargetInfo `json:"ContactTargetInfo,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index e484d667a9..7301593a4f 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -48,6 +48,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-loggingrole LoggingRole string `json:"LoggingRole,omitempty"` + // ProtocolDetails AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocoldetails + ProtocolDetails *Server_ProtocolDetails `json:"ProtocolDetails,omitempty"` + // Protocols AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocols diff --git a/cloudformation/transfer/aws-transfer-server_protocoldetails.go b/cloudformation/transfer/aws-transfer-server_protocoldetails.go new file mode 100644 index 0000000000..9dd9dabeac --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_protocoldetails.go @@ -0,0 +1,35 @@ +package transfer + +import ( + "github.com/awslabs/goformation/v5/cloudformation/policies" +) + +// Server_ProtocolDetails AWS CloudFormation Resource (AWS::Transfer::Server.ProtocolDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-protocoldetails.html +type Server_ProtocolDetails struct { + + // PassiveIp AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-protocoldetails.html#cfn-transfer-server-protocoldetails-passiveip + PassiveIp string `json:"PassiveIp,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 *Server_ProtocolDetails) AWSCloudFormationType() string { + return "AWS::Transfer::Server.ProtocolDetails" +} diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 532480754d..f12c41b99e 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -7377,6 +7377,64 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { + "additionalProperties": false, + "properties": { + "DefaultTargetHostname": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { + "additionalProperties": false, + "properties": { + "End": { + "type": "number" + }, + "Start": { + "type": "number" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { "additionalProperties": false, "properties": { @@ -7435,6 +7493,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7447,12 +7508,48 @@ var CloudformationSchema = `{ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" + }, + "type": "array" + }, "ServiceName": { "type": "string" } }, "type": "object" }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { "additionalProperties": false, "properties": { @@ -7472,6 +7569,9 @@ var CloudformationSchema = `{ "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7481,15 +7581,144 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Headers": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" + }, + "type": "array" + }, + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Method": { + "type": "string" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch" + }, + "Prefix": { + "type": "string" + }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { + "additionalProperties": false, + "properties": { + "DefaultPrefix": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite" + }, "Prefix": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch" + }, + "Name": { "type": "string" } }, "required": [ - "Prefix" + "Name" ], "type": "object" }, @@ -7840,6 +8069,27 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppMesh::Route.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HttpRetryPolicy": { "additionalProperties": false, "properties": { @@ -7935,16 +8185,22 @@ var CloudformationSchema = `{ "Method": { "type": "string" }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpPathMatch" + }, "Prefix": { "type": "string" }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.QueryParameter" + }, + "type": "array" + }, "Scheme": { "type": "string" } }, - "required": [ - "Prefix" - ], "type": "object" }, "AWS::AppMesh::Route.HttpTimeout": { @@ -7975,6 +8231,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AppMesh::Route.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpQueryParameterMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, "AWS::AppMesh::Route.RouteSpec": { "additionalProperties": false, "properties": { @@ -8746,6 +9017,9 @@ var CloudformationSchema = `{ "properties": { "Hostname": { "type": "string" + }, + "ResponseType": { + "type": "string" } }, "required": [ @@ -12809,6 +13083,9 @@ var CloudformationSchema = `{ "CapacityRebalance": { "type": "boolean" }, + "Context": { + "type": "string" + }, "Cooldown": { "type": "string" }, @@ -13248,6 +13525,9 @@ var CloudformationSchema = `{ "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -13620,6 +13900,9 @@ var CloudformationSchema = `{ }, "StartTime": { "type": "string" + }, + "TimeZone": { + "type": "string" } }, "required": [ @@ -21588,6 +21871,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "BucketName": { + "type": "string" + }, "ConnectionArn": { "type": "string" }, @@ -23267,6 +23553,9 @@ var CloudformationSchema = `{ "DefaultRedirectURI": { "type": "string" }, + "EnableTokenRevocation": { + "type": "boolean" + }, "ExplicitAuthFlows": { "items": { "type": "string" @@ -28047,7 +28336,7 @@ var CloudformationSchema = `{ "type": "string" }, "Parameters": { - "type": "object" + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" } }, "required": [ @@ -28092,6 +28381,11 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DataBrew::Recipe.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DataBrew::Recipe.RecipeParameters": { "additionalProperties": false, "properties": { @@ -33955,6 +34249,9 @@ var CloudformationSchema = `{ "AllocationId": { "type": "string" }, + "ConnectivityType": { + "type": "string" + }, "SubnetId": { "type": "string" }, @@ -33966,7 +34263,6 @@ var CloudformationSchema = `{ } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -41628,6 +41924,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, "Version": { "type": "string" } @@ -41723,6 +42022,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65269,6 +65580,9 @@ var CloudformationSchema = `{ "KeyUsage": { "type": "string" }, + "MultiRegion": { + "type": "boolean" + }, "PendingWindowInDays": { "type": "number" }, @@ -65305,6 +65619,87 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -70079,9 +70474,6 @@ var CloudformationSchema = `{ "Handler": { "type": "string" }, - "Id": { - "type": "string" - }, "ImageConfig": { "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" }, @@ -70293,12 +70685,6 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleArchitectures": { - "items": { - "type": "string" - }, - "type": "array" - }, "CompatibleRuntimes": { "items": { "type": "string" @@ -72779,6 +73165,9 @@ var CloudformationSchema = `{ "RequirementsS3Path": { "type": "string" }, + "Schedulers": { + "type": "number" + }, "SourceBucketArn": { "type": "string" }, @@ -87290,6 +87679,12 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, "Principals": { "items": { "type": "string" @@ -88902,6 +89297,9 @@ var CloudformationSchema = `{ "Encrypted": { "type": "boolean" }, + "Endpoint": { + "type": "object" + }, "HsmClientCertificateIdentifier": { "type": "string" }, @@ -94532,12 +94930,18 @@ var CloudformationSchema = `{ "ContentBasedDeduplication": { "type": "boolean" }, + "DeduplicationScope": { + "type": "string" + }, "DelaySeconds": { "type": "number" }, "FifoQueue": { "type": "boolean" }, + "FifoThroughputLimit": { + "type": "string" + }, "KmsDataKeyReusePeriodSeconds": { "type": "number" }, @@ -95915,6 +96319,38 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, "AWS::SSMContacts::Contact.Stage": { "additionalProperties": false, "properties": { @@ -95937,10 +96373,10 @@ var CloudformationSchema = `{ "additionalProperties": false, "properties": { "ChannelTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" }, "ContactTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" } }, "type": "object" @@ -96834,6 +97270,12 @@ var CloudformationSchema = `{ }, "GitConfig": { "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -103850,6 +104292,9 @@ var CloudformationSchema = `{ "LoggingRole": { "type": "string" }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, "Protocols": { "items": { "$ref": "#/definitions/AWS::Transfer::Server.Protocol" @@ -103938,6 +104383,15 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -109537,6 +109991,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::KMS::Key" }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 2ef140b678..810d94d603 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -7374,6 +7374,64 @@ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { + "additionalProperties": false, + "properties": { + "DefaultTargetHostname": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { + "additionalProperties": false, + "properties": { + "End": { + "type": "number" + }, + "Start": { + "type": "number" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { "additionalProperties": false, "properties": { @@ -7432,6 +7490,9 @@ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7444,12 +7505,48 @@ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" + }, + "type": "array" + }, "ServiceName": { "type": "string" } }, "type": "object" }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { "additionalProperties": false, "properties": { @@ -7469,6 +7566,9 @@ "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7478,15 +7578,144 @@ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Headers": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" + }, + "type": "array" + }, + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Method": { + "type": "string" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch" + }, + "Prefix": { + "type": "string" + }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { + "additionalProperties": false, + "properties": { + "DefaultPrefix": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite" + }, "Prefix": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch" + }, + "Name": { "type": "string" } }, "required": [ - "Prefix" + "Name" ], "type": "object" }, @@ -7837,6 +8066,27 @@ }, "type": "object" }, + "AWS::AppMesh::Route.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HttpRetryPolicy": { "additionalProperties": false, "properties": { @@ -7932,16 +8182,22 @@ "Method": { "type": "string" }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpPathMatch" + }, "Prefix": { "type": "string" }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.QueryParameter" + }, + "type": "array" + }, "Scheme": { "type": "string" } }, - "required": [ - "Prefix" - ], "type": "object" }, "AWS::AppMesh::Route.HttpTimeout": { @@ -7972,6 +8228,21 @@ ], "type": "object" }, + "AWS::AppMesh::Route.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpQueryParameterMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, "AWS::AppMesh::Route.RouteSpec": { "additionalProperties": false, "properties": { @@ -8743,6 +9014,9 @@ "properties": { "Hostname": { "type": "string" + }, + "ResponseType": { + "type": "string" } }, "required": [ @@ -12806,6 +13080,9 @@ "CapacityRebalance": { "type": "boolean" }, + "Context": { + "type": "string" + }, "Cooldown": { "type": "string" }, @@ -13245,6 +13522,9 @@ "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -13617,6 +13897,9 @@ }, "StartTime": { "type": "string" + }, + "TimeZone": { + "type": "string" } }, "required": [ @@ -21585,6 +21868,9 @@ "Properties": { "additionalProperties": false, "properties": { + "BucketName": { + "type": "string" + }, "ConnectionArn": { "type": "string" }, @@ -23264,6 +23550,9 @@ "DefaultRedirectURI": { "type": "string" }, + "EnableTokenRevocation": { + "type": "boolean" + }, "ExplicitAuthFlows": { "items": { "type": "string" @@ -28044,7 +28333,7 @@ "type": "string" }, "Parameters": { - "type": "object" + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" } }, "required": [ @@ -28089,6 +28378,11 @@ }, "type": "object" }, + "AWS::DataBrew::Recipe.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DataBrew::Recipe.RecipeParameters": { "additionalProperties": false, "properties": { @@ -33952,6 +34246,9 @@ "AllocationId": { "type": "string" }, + "ConnectivityType": { + "type": "string" + }, "SubnetId": { "type": "string" }, @@ -33963,7 +34260,6 @@ } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -41625,6 +41921,9 @@ }, "type": "array" }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, "Version": { "type": "string" } @@ -41720,6 +42019,18 @@ }, "type": "object" }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65266,6 +65577,9 @@ "KeyUsage": { "type": "string" }, + "MultiRegion": { + "type": "boolean" + }, "PendingWindowInDays": { "type": "number" }, @@ -65302,6 +65616,87 @@ ], "type": "object" }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -70076,9 +70471,6 @@ "Handler": { "type": "string" }, - "Id": { - "type": "string" - }, "ImageConfig": { "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" }, @@ -70290,12 +70682,6 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleArchitectures": { - "items": { - "type": "string" - }, - "type": "array" - }, "CompatibleRuntimes": { "items": { "type": "string" @@ -72776,6 +73162,9 @@ "RequirementsS3Path": { "type": "string" }, + "Schedulers": { + "type": "number" + }, "SourceBucketArn": { "type": "string" }, @@ -87287,6 +87676,12 @@ "Name": { "type": "string" }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, "Principals": { "items": { "type": "string" @@ -88899,6 +89294,9 @@ "Encrypted": { "type": "boolean" }, + "Endpoint": { + "type": "object" + }, "HsmClientCertificateIdentifier": { "type": "string" }, @@ -94529,12 +94927,18 @@ "ContentBasedDeduplication": { "type": "boolean" }, + "DeduplicationScope": { + "type": "string" + }, "DelaySeconds": { "type": "number" }, "FifoQueue": { "type": "boolean" }, + "FifoThroughputLimit": { + "type": "string" + }, "KmsDataKeyReusePeriodSeconds": { "type": "number" }, @@ -95912,6 +96316,38 @@ ], "type": "object" }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, "AWS::SSMContacts::Contact.Stage": { "additionalProperties": false, "properties": { @@ -95934,10 +96370,10 @@ "additionalProperties": false, "properties": { "ChannelTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" }, "ContactTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" } }, "type": "object" @@ -96831,6 +97267,12 @@ }, "GitConfig": { "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -103847,6 +104289,9 @@ "LoggingRole": { "type": "string" }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, "Protocols": { "items": { "$ref": "#/definitions/AWS::Transfer::Server.Protocol" @@ -103935,6 +104380,15 @@ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -109534,6 +109988,9 @@ { "$ref": "#/definitions/AWS::KMS::Key" }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, diff --git a/schema/sam.go b/schema/sam.go index 9c2a2f6dc3..e5ca94ac11 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -7377,6 +7377,64 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { + "additionalProperties": false, + "properties": { + "DefaultTargetHostname": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { + "additionalProperties": false, + "properties": { + "End": { + "type": "number" + }, + "Start": { + "type": "number" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { "additionalProperties": false, "properties": { @@ -7435,6 +7493,9 @@ var SamSchema = `{ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7447,12 +7508,48 @@ var SamSchema = `{ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" + }, + "type": "array" + }, "ServiceName": { "type": "string" } }, "type": "object" }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { "additionalProperties": false, "properties": { @@ -7472,6 +7569,9 @@ var SamSchema = `{ "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7481,15 +7581,144 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Headers": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" + }, + "type": "array" + }, + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Method": { + "type": "string" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch" + }, + "Prefix": { + "type": "string" + }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { + "additionalProperties": false, + "properties": { + "DefaultPrefix": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite" + }, "Prefix": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch" + }, + "Name": { "type": "string" } }, "required": [ - "Prefix" + "Name" ], "type": "object" }, @@ -7840,6 +8069,27 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppMesh::Route.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HttpRetryPolicy": { "additionalProperties": false, "properties": { @@ -7935,16 +8185,22 @@ var SamSchema = `{ "Method": { "type": "string" }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpPathMatch" + }, "Prefix": { "type": "string" }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.QueryParameter" + }, + "type": "array" + }, "Scheme": { "type": "string" } }, - "required": [ - "Prefix" - ], "type": "object" }, "AWS::AppMesh::Route.HttpTimeout": { @@ -7975,6 +8231,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AppMesh::Route.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpQueryParameterMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, "AWS::AppMesh::Route.RouteSpec": { "additionalProperties": false, "properties": { @@ -8746,6 +9017,9 @@ var SamSchema = `{ "properties": { "Hostname": { "type": "string" + }, + "ResponseType": { + "type": "string" } }, "required": [ @@ -12809,6 +13083,9 @@ var SamSchema = `{ "CapacityRebalance": { "type": "boolean" }, + "Context": { + "type": "string" + }, "Cooldown": { "type": "string" }, @@ -13248,6 +13525,9 @@ var SamSchema = `{ "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -13620,6 +13900,9 @@ var SamSchema = `{ }, "StartTime": { "type": "string" + }, + "TimeZone": { + "type": "string" } }, "required": [ @@ -21588,6 +21871,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "BucketName": { + "type": "string" + }, "ConnectionArn": { "type": "string" }, @@ -23267,6 +23553,9 @@ var SamSchema = `{ "DefaultRedirectURI": { "type": "string" }, + "EnableTokenRevocation": { + "type": "boolean" + }, "ExplicitAuthFlows": { "items": { "type": "string" @@ -28047,7 +28336,7 @@ var SamSchema = `{ "type": "string" }, "Parameters": { - "type": "object" + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" } }, "required": [ @@ -28092,6 +28381,11 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DataBrew::Recipe.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DataBrew::Recipe.RecipeParameters": { "additionalProperties": false, "properties": { @@ -33955,6 +34249,9 @@ var SamSchema = `{ "AllocationId": { "type": "string" }, + "ConnectivityType": { + "type": "string" + }, "SubnetId": { "type": "string" }, @@ -33966,7 +34263,6 @@ var SamSchema = `{ } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -41628,6 +41924,9 @@ var SamSchema = `{ }, "type": "array" }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, "Version": { "type": "string" } @@ -41723,6 +42022,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65269,6 +65580,9 @@ var SamSchema = `{ "KeyUsage": { "type": "string" }, + "MultiRegion": { + "type": "boolean" + }, "PendingWindowInDays": { "type": "number" }, @@ -65305,6 +65619,87 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -70079,9 +70474,6 @@ var SamSchema = `{ "Handler": { "type": "string" }, - "Id": { - "type": "string" - }, "ImageConfig": { "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" }, @@ -70293,12 +70685,6 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CompatibleArchitectures": { - "items": { - "type": "string" - }, - "type": "array" - }, "CompatibleRuntimes": { "items": { "type": "string" @@ -72779,6 +73165,9 @@ var SamSchema = `{ "RequirementsS3Path": { "type": "string" }, + "Schedulers": { + "type": "number" + }, "SourceBucketArn": { "type": "string" }, @@ -87290,6 +87679,12 @@ var SamSchema = `{ "Name": { "type": "string" }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, "Principals": { "items": { "type": "string" @@ -88902,6 +89297,9 @@ var SamSchema = `{ "Encrypted": { "type": "boolean" }, + "Endpoint": { + "type": "object" + }, "HsmClientCertificateIdentifier": { "type": "string" }, @@ -94532,12 +94930,18 @@ var SamSchema = `{ "ContentBasedDeduplication": { "type": "boolean" }, + "DeduplicationScope": { + "type": "string" + }, "DelaySeconds": { "type": "number" }, "FifoQueue": { "type": "boolean" }, + "FifoThroughputLimit": { + "type": "string" + }, "KmsDataKeyReusePeriodSeconds": { "type": "number" }, @@ -95915,6 +96319,38 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, "AWS::SSMContacts::Contact.Stage": { "additionalProperties": false, "properties": { @@ -95937,10 +96373,10 @@ var SamSchema = `{ "additionalProperties": false, "properties": { "ChannelTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" }, "ContactTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" } }, "type": "object" @@ -96834,6 +97270,12 @@ var SamSchema = `{ }, "GitConfig": { "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -106134,6 +106576,9 @@ var SamSchema = `{ "LoggingRole": { "type": "string" }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, "Protocols": { "items": { "$ref": "#/definitions/AWS::Transfer::Server.Protocol" @@ -106222,6 +106667,15 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -112101,6 +112555,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::KMS::Key" }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 882e62ceaa..d666739f4a 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -7374,6 +7374,64 @@ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { + "additionalProperties": false, + "properties": { + "DefaultTargetHostname": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { + "additionalProperties": false, + "properties": { + "End": { + "type": "number" + }, + "Start": { + "type": "number" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { "additionalProperties": false, "properties": { @@ -7432,6 +7490,9 @@ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7444,12 +7505,48 @@ "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" + }, + "type": "array" + }, "ServiceName": { "type": "string" } }, "type": "object" }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { "additionalProperties": false, "properties": { @@ -7469,6 +7566,9 @@ "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { "additionalProperties": false, "properties": { + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite" + }, "Target": { "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget" } @@ -7478,15 +7578,144 @@ ], "type": "object" }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { "additionalProperties": false, "properties": { + "Headers": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" + }, + "type": "array" + }, + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch" + }, + "Method": { + "type": "string" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch" + }, + "Prefix": { + "type": "string" + }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { + "additionalProperties": false, + "properties": { + "DefaultPrefix": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { + "additionalProperties": false, + "properties": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite" + }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite" + }, "Prefix": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch" + }, + "Name": { "type": "string" } }, "required": [ - "Prefix" + "Name" ], "type": "object" }, @@ -7837,6 +8066,27 @@ }, "type": "object" }, + "AWS::AppMesh::Route.HttpPathMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HttpQueryParameterMatch": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + } + }, + "type": "object" + }, "AWS::AppMesh::Route.HttpRetryPolicy": { "additionalProperties": false, "properties": { @@ -7932,16 +8182,22 @@ "Method": { "type": "string" }, + "Path": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpPathMatch" + }, "Prefix": { "type": "string" }, + "QueryParameters": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.QueryParameter" + }, + "type": "array" + }, "Scheme": { "type": "string" } }, - "required": [ - "Prefix" - ], "type": "object" }, "AWS::AppMesh::Route.HttpTimeout": { @@ -7972,6 +8228,21 @@ ], "type": "object" }, + "AWS::AppMesh::Route.QueryParameter": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.HttpQueryParameterMatch" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, "AWS::AppMesh::Route.RouteSpec": { "additionalProperties": false, "properties": { @@ -8743,6 +9014,9 @@ "properties": { "Hostname": { "type": "string" + }, + "ResponseType": { + "type": "string" } }, "required": [ @@ -12806,6 +13080,9 @@ "CapacityRebalance": { "type": "boolean" }, + "Context": { + "type": "string" + }, "Cooldown": { "type": "string" }, @@ -13245,6 +13522,9 @@ "SnapshotId": { "type": "string" }, + "Throughput": { + "type": "number" + }, "VolumeSize": { "type": "number" }, @@ -13617,6 +13897,9 @@ }, "StartTime": { "type": "string" + }, + "TimeZone": { + "type": "string" } }, "required": [ @@ -21585,6 +21868,9 @@ "Properties": { "additionalProperties": false, "properties": { + "BucketName": { + "type": "string" + }, "ConnectionArn": { "type": "string" }, @@ -23264,6 +23550,9 @@ "DefaultRedirectURI": { "type": "string" }, + "EnableTokenRevocation": { + "type": "boolean" + }, "ExplicitAuthFlows": { "items": { "type": "string" @@ -28044,7 +28333,7 @@ "type": "string" }, "Parameters": { - "type": "object" + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" } }, "required": [ @@ -28089,6 +28378,11 @@ }, "type": "object" }, + "AWS::DataBrew::Recipe.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DataBrew::Recipe.RecipeParameters": { "additionalProperties": false, "properties": { @@ -33952,6 +34246,9 @@ "AllocationId": { "type": "string" }, + "ConnectivityType": { + "type": "string" + }, "SubnetId": { "type": "string" }, @@ -33963,7 +34260,6 @@ } }, "required": [ - "AllocationId", "SubnetId" ], "type": "object" @@ -41625,6 +41921,9 @@ }, "type": "array" }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, "Version": { "type": "string" } @@ -41720,6 +42019,18 @@ }, "type": "object" }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65266,6 +65577,9 @@ "KeyUsage": { "type": "string" }, + "MultiRegion": { + "type": "boolean" + }, "PendingWindowInDays": { "type": "number" }, @@ -65302,6 +65616,87 @@ ], "type": "object" }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Kendra::DataSource": { "additionalProperties": false, "properties": { @@ -70076,9 +70471,6 @@ "Handler": { "type": "string" }, - "Id": { - "type": "string" - }, "ImageConfig": { "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" }, @@ -70290,12 +70682,6 @@ "Properties": { "additionalProperties": false, "properties": { - "CompatibleArchitectures": { - "items": { - "type": "string" - }, - "type": "array" - }, "CompatibleRuntimes": { "items": { "type": "string" @@ -72776,6 +73162,9 @@ "RequirementsS3Path": { "type": "string" }, + "Schedulers": { + "type": "number" + }, "SourceBucketArn": { "type": "string" }, @@ -87287,6 +87676,12 @@ "Name": { "type": "string" }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, "Principals": { "items": { "type": "string" @@ -88899,6 +89294,9 @@ "Encrypted": { "type": "boolean" }, + "Endpoint": { + "type": "object" + }, "HsmClientCertificateIdentifier": { "type": "string" }, @@ -94529,12 +94927,18 @@ "ContentBasedDeduplication": { "type": "boolean" }, + "DeduplicationScope": { + "type": "string" + }, "DelaySeconds": { "type": "number" }, "FifoQueue": { "type": "boolean" }, + "FifoThroughputLimit": { + "type": "string" + }, "KmsDataKeyReusePeriodSeconds": { "type": "number" }, @@ -95912,6 +96316,38 @@ ], "type": "object" }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, "AWS::SSMContacts::Contact.Stage": { "additionalProperties": false, "properties": { @@ -95934,10 +96370,10 @@ "additionalProperties": false, "properties": { "ChannelTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" }, "ContactTargetInfo": { - "type": "object" + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" } }, "type": "object" @@ -96831,6 +97267,12 @@ }, "GitConfig": { "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -106131,6 +106573,9 @@ "LoggingRole": { "type": "string" }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, "Protocols": { "items": { "$ref": "#/definitions/AWS::Transfer::Server.Protocol" @@ -106219,6 +106664,15 @@ "properties": {}, "type": "object" }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::User": { "additionalProperties": false, "properties": { @@ -112098,6 +112552,9 @@ { "$ref": "#/definitions/AWS::KMS::Key" }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, { "$ref": "#/definitions/AWS::Kendra::DataSource" },