diff --git a/cloudformation/aws-cloudfront-distribution.go b/cloudformation/aws-cloudfront-distribution.go deleted file mode 100644 index c9c06f9df3..0000000000 --- a/cloudformation/aws-cloudfront-distribution.go +++ /dev/null @@ -1,110 +0,0 @@ -package cloudformation - -import ( - "encoding/json" - "errors" - "fmt" -) - -// AWSCloudFrontDistribution AWS CloudFormation Resource (AWS::CloudFront::Distribution) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution.html -type AWSCloudFrontDistribution struct { - - // DistributionConfig AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution.html#cfn-cloudfront-distribution-distributionconfig - DistributionConfig *AWSCloudFrontDistribution_DistributionConfig `json:"DistributionConfig,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution" -} - -// 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 *AWSCloudFrontDistribution) MarshalJSON() ([]byte, error) { - type Properties AWSCloudFrontDistribution - return json.Marshal(&struct { - Type string - Properties Properties - }{ - Type: r.AWSCloudFormationType(), - Properties: (Properties)(*r), - }) -} - -// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer -// AWS CloudFormation resource object, and just keeps the 'Properties' field. -func (r *AWSCloudFrontDistribution) UnmarshalJSON(b []byte) error { - type Properties AWSCloudFrontDistribution - res := &struct { - Type string - Properties *Properties - }{} - if err := json.Unmarshal(b, &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 = AWSCloudFrontDistribution(*res.Properties) - } - - return nil -} - -// GetAllAWSCloudFrontDistributionResources retrieves all AWSCloudFrontDistribution items from an AWS CloudFormation template -func (t *Template) GetAllAWSCloudFrontDistributionResources() map[string]AWSCloudFrontDistribution { - results := map[string]AWSCloudFrontDistribution{} - for name, untyped := range t.Resources { - switch resource := untyped.(type) { - case AWSCloudFrontDistribution: - // We found a strongly typed resource of the correct type; use it - results[name] = resource - case map[string]interface{}: - // We found an untyped resource (likely from JSON) which *might* be - // the correct type, but we need to check it's 'Type' field - if resType, ok := resource["Type"]; ok { - if resType == "AWS::CloudFront::Distribution" { - // The resource is correct, unmarshal it into the results - if b, err := json.Marshal(resource); err == nil { - var result AWSCloudFrontDistribution - if err := json.Unmarshal(b, &result); err == nil { - results[name] = result - } - } - } - } - } - } - return results -} - -// GetAWSCloudFrontDistributionWithName retrieves all AWSCloudFrontDistribution items from an AWS CloudFormation template -// whose logical ID matches the provided name. Returns an error if not found. -func (t *Template) GetAWSCloudFrontDistributionWithName(name string) (AWSCloudFrontDistribution, error) { - if untyped, ok := t.Resources[name]; ok { - switch resource := untyped.(type) { - case AWSCloudFrontDistribution: - // We found a strongly typed resource of the correct type; use it - return resource, nil - case map[string]interface{}: - // We found an untyped resource (likely from JSON) which *might* be - // the correct type, but we need to check it's 'Type' field - if resType, ok := resource["Type"]; ok { - if resType == "AWS::CloudFront::Distribution" { - // The resource is correct, unmarshal it into the results - if b, err := json.Marshal(resource); err == nil { - var result AWSCloudFrontDistribution - if err := json.Unmarshal(b, &result); err == nil { - return result, nil - } - } - } - } - } - } - return AWSCloudFrontDistribution{}, errors.New("resource not found") -} diff --git a/cloudformation/aws-cloudfront-distribution_cachebehavior.go b/cloudformation/aws-cloudfront-distribution_cachebehavior.go deleted file mode 100644 index 2e54fe539d..0000000000 --- a/cloudformation/aws-cloudfront-distribution_cachebehavior.go +++ /dev/null @@ -1,71 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_CacheBehavior AWS CloudFormation Resource (AWS::CloudFront::Distribution.CacheBehavior) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html -type AWSCloudFrontDistribution_CacheBehavior struct { - - // AllowedMethods AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-allowedmethods - AllowedMethods []string `json:"AllowedMethods,omitempty"` - - // CachedMethods AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-cachedmethods - CachedMethods []string `json:"CachedMethods,omitempty"` - - // Compress AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-compress - Compress bool `json:"Compress,omitempty"` - - // DefaultTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-defaultttl - DefaultTTL int64 `json:"DefaultTTL,omitempty"` - - // ForwardedValues AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-forwardedvalues - ForwardedValues *AWSCloudFrontDistribution_ForwardedValues `json:"ForwardedValues,omitempty"` - - // MaxTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-maxttl - MaxTTL int64 `json:"MaxTTL,omitempty"` - - // MinTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-minttl - MinTTL int64 `json:"MinTTL,omitempty"` - - // PathPattern AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-pathpattern - PathPattern string `json:"PathPattern,omitempty"` - - // SmoothStreaming AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-smoothstreaming - SmoothStreaming bool `json:"SmoothStreaming,omitempty"` - - // TargetOriginId AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-targetoriginid - TargetOriginId string `json:"TargetOriginId,omitempty"` - - // TrustedSigners AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-trustedsigners - TrustedSigners []string `json:"TrustedSigners,omitempty"` - - // ViewerProtocolPolicy AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-viewerprotocolpolicy - ViewerProtocolPolicy string `json:"ViewerProtocolPolicy,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_CacheBehavior) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.CacheBehavior" -} diff --git a/cloudformation/aws-cloudfront-distribution_cookies.go b/cloudformation/aws-cloudfront-distribution_cookies.go deleted file mode 100644 index 7be0130eeb..0000000000 --- a/cloudformation/aws-cloudfront-distribution_cookies.go +++ /dev/null @@ -1,21 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_Cookies AWS CloudFormation Resource (AWS::CloudFront::Distribution.Cookies) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html -type AWSCloudFrontDistribution_Cookies struct { - - // Forward AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html#cfn-cloudfront-forwardedvalues-cookies-forward - Forward string `json:"Forward,omitempty"` - - // WhitelistedNames AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html#cfn-cloudfront-forwardedvalues-cookies-whitelistednames - WhitelistedNames []string `json:"WhitelistedNames,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_Cookies) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.Cookies" -} diff --git a/cloudformation/aws-cloudfront-distribution_customerrorresponse.go b/cloudformation/aws-cloudfront-distribution_customerrorresponse.go deleted file mode 100644 index 6320958453..0000000000 --- a/cloudformation/aws-cloudfront-distribution_customerrorresponse.go +++ /dev/null @@ -1,31 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_CustomErrorResponse AWS CloudFormation Resource (AWS::CloudFront::Distribution.CustomErrorResponse) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html -type AWSCloudFrontDistribution_CustomErrorResponse struct { - - // ErrorCachingMinTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-errorcachingminttl - ErrorCachingMinTTL int64 `json:"ErrorCachingMinTTL,omitempty"` - - // ErrorCode AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-errorcode - ErrorCode int `json:"ErrorCode,omitempty"` - - // ResponseCode AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-responsecode - ResponseCode int `json:"ResponseCode,omitempty"` - - // ResponsePagePath AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-responsepagepath - ResponsePagePath string `json:"ResponsePagePath,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_CustomErrorResponse) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.CustomErrorResponse" -} diff --git a/cloudformation/aws-cloudfront-distribution_customoriginconfig.go b/cloudformation/aws-cloudfront-distribution_customoriginconfig.go deleted file mode 100644 index 11736d9f6d..0000000000 --- a/cloudformation/aws-cloudfront-distribution_customoriginconfig.go +++ /dev/null @@ -1,31 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_CustomOriginConfig AWS CloudFormation Resource (AWS::CloudFront::Distribution.CustomOriginConfig) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html -type AWSCloudFrontDistribution_CustomOriginConfig struct { - - // HTTPPort AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-httpport - HTTPPort int `json:"HTTPPort,omitempty"` - - // HTTPSPort AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-httpsport - HTTPSPort int `json:"HTTPSPort,omitempty"` - - // OriginProtocolPolicy AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-originprotocolpolicy - OriginProtocolPolicy string `json:"OriginProtocolPolicy,omitempty"` - - // OriginSSLProtocols AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-originsslprotocols - OriginSSLProtocols []string `json:"OriginSSLProtocols,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_CustomOriginConfig) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.CustomOriginConfig" -} diff --git a/cloudformation/aws-cloudfront-distribution_defaultcachebehavior.go b/cloudformation/aws-cloudfront-distribution_defaultcachebehavior.go deleted file mode 100644 index 359e8f6895..0000000000 --- a/cloudformation/aws-cloudfront-distribution_defaultcachebehavior.go +++ /dev/null @@ -1,66 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_DefaultCacheBehavior AWS CloudFormation Resource (AWS::CloudFront::Distribution.DefaultCacheBehavior) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html -type AWSCloudFrontDistribution_DefaultCacheBehavior struct { - - // AllowedMethods AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-allowedmethods - AllowedMethods []string `json:"AllowedMethods,omitempty"` - - // CachedMethods AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-cachedmethods - CachedMethods []string `json:"CachedMethods,omitempty"` - - // Compress AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-compress - Compress bool `json:"Compress,omitempty"` - - // DefaultTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-defaultttl - DefaultTTL int64 `json:"DefaultTTL,omitempty"` - - // ForwardedValues AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-forwardedvalues - ForwardedValues *AWSCloudFrontDistribution_ForwardedValues `json:"ForwardedValues,omitempty"` - - // MaxTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-maxttl - MaxTTL int64 `json:"MaxTTL,omitempty"` - - // MinTTL AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-minttl - MinTTL int64 `json:"MinTTL,omitempty"` - - // SmoothStreaming AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-smoothstreaming - SmoothStreaming bool `json:"SmoothStreaming,omitempty"` - - // TargetOriginId AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-targetoriginid - TargetOriginId string `json:"TargetOriginId,omitempty"` - - // TrustedSigners AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-trustedsigners - TrustedSigners []string `json:"TrustedSigners,omitempty"` - - // ViewerProtocolPolicy AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-viewerprotocolpolicy - ViewerProtocolPolicy string `json:"ViewerProtocolPolicy,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_DefaultCacheBehavior) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.DefaultCacheBehavior" -} diff --git a/cloudformation/aws-cloudfront-distribution_distributionconfig.go b/cloudformation/aws-cloudfront-distribution_distributionconfig.go deleted file mode 100644 index b066457813..0000000000 --- a/cloudformation/aws-cloudfront-distribution_distributionconfig.go +++ /dev/null @@ -1,81 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_DistributionConfig AWS CloudFormation Resource (AWS::CloudFront::Distribution.DistributionConfig) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html -type AWSCloudFrontDistribution_DistributionConfig struct { - - // Aliases AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-aliases - Aliases []string `json:"Aliases,omitempty"` - - // CacheBehaviors AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-cachebehaviors - CacheBehaviors []AWSCloudFrontDistribution_CacheBehavior `json:"CacheBehaviors,omitempty"` - - // Comment AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-comment - Comment string `json:"Comment,omitempty"` - - // CustomErrorResponses AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-customerrorresponses - CustomErrorResponses []AWSCloudFrontDistribution_CustomErrorResponse `json:"CustomErrorResponses,omitempty"` - - // DefaultCacheBehavior AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-defaultcachebehavior - DefaultCacheBehavior *AWSCloudFrontDistribution_DefaultCacheBehavior `json:"DefaultCacheBehavior,omitempty"` - - // DefaultRootObject AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-defaultrootobject - DefaultRootObject string `json:"DefaultRootObject,omitempty"` - - // Enabled AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-enabled - Enabled bool `json:"Enabled,omitempty"` - - // HttpVersion AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-httpversion - HttpVersion string `json:"HttpVersion,omitempty"` - - // Logging AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-logging - Logging *AWSCloudFrontDistribution_Logging `json:"Logging,omitempty"` - - // Origins AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-origins - Origins []AWSCloudFrontDistribution_Origin `json:"Origins,omitempty"` - - // PriceClass AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-priceclass - PriceClass string `json:"PriceClass,omitempty"` - - // Restrictions AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-restrictions - Restrictions *AWSCloudFrontDistribution_Restrictions `json:"Restrictions,omitempty"` - - // ViewerCertificate AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-viewercertificate - ViewerCertificate *AWSCloudFrontDistribution_ViewerCertificate `json:"ViewerCertificate,omitempty"` - - // WebACLId AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-webaclid - WebACLId string `json:"WebACLId,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_DistributionConfig) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.DistributionConfig" -} diff --git a/cloudformation/aws-cloudfront-distribution_forwardedvalues.go b/cloudformation/aws-cloudfront-distribution_forwardedvalues.go deleted file mode 100644 index 88bc3f9eaf..0000000000 --- a/cloudformation/aws-cloudfront-distribution_forwardedvalues.go +++ /dev/null @@ -1,31 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_ForwardedValues AWS CloudFormation Resource (AWS::CloudFront::Distribution.ForwardedValues) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html -type AWSCloudFrontDistribution_ForwardedValues struct { - - // Cookies AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-cookies - Cookies *AWSCloudFrontDistribution_Cookies `json:"Cookies,omitempty"` - - // Headers AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-headers - Headers []string `json:"Headers,omitempty"` - - // QueryString AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-querystring - QueryString bool `json:"QueryString,omitempty"` - - // QueryStringCacheKeys AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-querystringcachekeys - QueryStringCacheKeys []string `json:"QueryStringCacheKeys,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_ForwardedValues) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.ForwardedValues" -} diff --git a/cloudformation/aws-cloudfront-distribution_georestriction.go b/cloudformation/aws-cloudfront-distribution_georestriction.go deleted file mode 100644 index 321cf0013e..0000000000 --- a/cloudformation/aws-cloudfront-distribution_georestriction.go +++ /dev/null @@ -1,21 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_GeoRestriction AWS CloudFormation Resource (AWS::CloudFront::Distribution.GeoRestriction) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html -type AWSCloudFrontDistribution_GeoRestriction struct { - - // Locations AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html#cfn-cloudfront-distributionconfig-restrictions-georestriction-locations - Locations []string `json:"Locations,omitempty"` - - // RestrictionType AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html#cfn-cloudfront-distributionconfig-restrictions-georestriction-restrictiontype - RestrictionType string `json:"RestrictionType,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_GeoRestriction) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.GeoRestriction" -} diff --git a/cloudformation/aws-cloudfront-distribution_logging.go b/cloudformation/aws-cloudfront-distribution_logging.go deleted file mode 100644 index 2a75c845dc..0000000000 --- a/cloudformation/aws-cloudfront-distribution_logging.go +++ /dev/null @@ -1,26 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_Logging AWS CloudFormation Resource (AWS::CloudFront::Distribution.Logging) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html -type AWSCloudFrontDistribution_Logging struct { - - // Bucket AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html#cfn-cloudfront-logging-bucket - Bucket string `json:"Bucket,omitempty"` - - // IncludeCookies AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html#cfn-cloudfront-logging-includecookies - IncludeCookies bool `json:"IncludeCookies,omitempty"` - - // Prefix AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html#cfn-cloudfront-logging-prefix - Prefix string `json:"Prefix,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_Logging) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.Logging" -} diff --git a/cloudformation/aws-cloudfront-distribution_origin.go b/cloudformation/aws-cloudfront-distribution_origin.go deleted file mode 100644 index e53e4e34d3..0000000000 --- a/cloudformation/aws-cloudfront-distribution_origin.go +++ /dev/null @@ -1,41 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_Origin AWS CloudFormation Resource (AWS::CloudFront::Distribution.Origin) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html -type AWSCloudFrontDistribution_Origin struct { - - // CustomOriginConfig AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-customorigin - CustomOriginConfig *AWSCloudFrontDistribution_CustomOriginConfig `json:"CustomOriginConfig,omitempty"` - - // DomainName AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-domainname - DomainName string `json:"DomainName,omitempty"` - - // Id AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-id - Id string `json:"Id,omitempty"` - - // OriginCustomHeaders AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-origincustomheaders - OriginCustomHeaders []AWSCloudFrontDistribution_OriginCustomHeader `json:"OriginCustomHeaders,omitempty"` - - // OriginPath AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-originpath - OriginPath string `json:"OriginPath,omitempty"` - - // S3OriginConfig AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-s3origin - S3OriginConfig *AWSCloudFrontDistribution_S3OriginConfig `json:"S3OriginConfig,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_Origin) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.Origin" -} diff --git a/cloudformation/aws-cloudfront-distribution_origincustomheader.go b/cloudformation/aws-cloudfront-distribution_origincustomheader.go deleted file mode 100644 index fee6cd5240..0000000000 --- a/cloudformation/aws-cloudfront-distribution_origincustomheader.go +++ /dev/null @@ -1,21 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_OriginCustomHeader AWS CloudFormation Resource (AWS::CloudFront::Distribution.OriginCustomHeader) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin-origincustomheader.html -type AWSCloudFrontDistribution_OriginCustomHeader struct { - - // HeaderName AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin-origincustomheader.html#cfn-cloudfront-origin-origincustomheader-headername - HeaderName string `json:"HeaderName,omitempty"` - - // HeaderValue AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin-origincustomheader.html#cfn-cloudfront-origin-origincustomheader-headervalue - HeaderValue string `json:"HeaderValue,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_OriginCustomHeader) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.OriginCustomHeader" -} diff --git a/cloudformation/aws-cloudfront-distribution_restrictions.go b/cloudformation/aws-cloudfront-distribution_restrictions.go deleted file mode 100644 index 1d9795d716..0000000000 --- a/cloudformation/aws-cloudfront-distribution_restrictions.go +++ /dev/null @@ -1,16 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_Restrictions AWS CloudFormation Resource (AWS::CloudFront::Distribution.Restrictions) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions.html -type AWSCloudFrontDistribution_Restrictions struct { - - // GeoRestriction AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions.html#cfn-cloudfront-distributionconfig-restrictions-georestriction - GeoRestriction *AWSCloudFrontDistribution_GeoRestriction `json:"GeoRestriction,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_Restrictions) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.Restrictions" -} diff --git a/cloudformation/aws-cloudfront-distribution_s3originconfig.go b/cloudformation/aws-cloudfront-distribution_s3originconfig.go deleted file mode 100644 index 79445d03ca..0000000000 --- a/cloudformation/aws-cloudfront-distribution_s3originconfig.go +++ /dev/null @@ -1,16 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_S3OriginConfig AWS CloudFormation Resource (AWS::CloudFront::Distribution.S3OriginConfig) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-s3origin.html -type AWSCloudFrontDistribution_S3OriginConfig struct { - - // OriginAccessIdentity AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-s3origin.html#cfn-cloudfront-s3origin-originaccessidentity - OriginAccessIdentity string `json:"OriginAccessIdentity,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_S3OriginConfig) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.S3OriginConfig" -} diff --git a/cloudformation/aws-cloudfront-distribution_viewercertificate.go b/cloudformation/aws-cloudfront-distribution_viewercertificate.go deleted file mode 100644 index 32727ccfad..0000000000 --- a/cloudformation/aws-cloudfront-distribution_viewercertificate.go +++ /dev/null @@ -1,36 +0,0 @@ -package cloudformation - -// AWSCloudFrontDistribution_ViewerCertificate AWS CloudFormation Resource (AWS::CloudFront::Distribution.ViewerCertificate) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html -type AWSCloudFrontDistribution_ViewerCertificate struct { - - // AcmCertificateArn AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-acmcertificatearn - AcmCertificateArn string `json:"AcmCertificateArn,omitempty"` - - // CloudFrontDefaultCertificate AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-cloudfrontdefaultcertificate - CloudFrontDefaultCertificate bool `json:"CloudFrontDefaultCertificate,omitempty"` - - // IamCertificateId AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-iamcertificateid - IamCertificateId string `json:"IamCertificateId,omitempty"` - - // MinimumProtocolVersion AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-sslsupportmethod - MinimumProtocolVersion string `json:"MinimumProtocolVersion,omitempty"` - - // SslSupportMethod AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-minimumprotocolversion - SslSupportMethod string `json:"SslSupportMethod,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSCloudFrontDistribution_ViewerCertificate) AWSCloudFormationType() string { - return "AWS::CloudFront::Distribution.ViewerCertificate" -} diff --git a/cloudformation/aws-elasticbeanstalk-environment_optionsettings.go b/cloudformation/aws-elasticbeanstalk-environment_optionsettings.go deleted file mode 100644 index 445bf705dd..0000000000 --- a/cloudformation/aws-elasticbeanstalk-environment_optionsettings.go +++ /dev/null @@ -1,26 +0,0 @@ -package cloudformation - -// AWSElasticBeanstalkEnvironment_OptionSettings AWS CloudFormation Resource (AWS::ElasticBeanstalk::Environment.OptionSettings) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html -type AWSElasticBeanstalkEnvironment_OptionSettings struct { - - // Namespace AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-namespace - Namespace string `json:"Namespace,omitempty"` - - // OptionName AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-optionname - OptionName string `json:"OptionName,omitempty"` - - // Value AWS CloudFormation Property - // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-value - Value string `json:"Value,omitempty"` -} - -// AWSCloudFormationType returns the AWS CloudFormation resource type -func (r *AWSElasticBeanstalkEnvironment_OptionSettings) AWSCloudFormationType() string { - return "AWS::ElasticBeanstalk::Environment.OptionSettings" -} diff --git a/cloudformation/aws-serverless-api.go b/cloudformation/aws-serverless-api.go index 3d7a6e056f..17335679be 100644 --- a/cloudformation/aws-serverless-api.go +++ b/cloudformation/aws-serverless-api.go @@ -28,7 +28,7 @@ type AWSServerlessApi struct { // DefinitionUri AWS CloudFormation Property // Required: false // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi - DefinitionUri *AWSServerlessApi_StringOrS3Location `json:"DefinitionUri,omitempty"` + DefinitionUri *AWSServerlessApi_DefinitionUri `json:"DefinitionUri,omitempty"` // Name AWS CloudFormation Property // Required: false diff --git a/cloudformation/aws-serverless-function.go b/cloudformation/aws-serverless-function.go index dedb327939..f5ae2ba062 100644 --- a/cloudformation/aws-serverless-function.go +++ b/cloudformation/aws-serverless-function.go @@ -13,7 +13,7 @@ type AWSServerlessFunction struct { // CodeUri AWS CloudFormation Property // Required: true // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction - CodeUri *AWSServerlessFunction_StringOrS3Location `json:"CodeUri,omitempty"` + CodeUri *AWSServerlessFunction_CodeUri `json:"CodeUri,omitempty"` // DeadLetterQueue AWS CloudFormation Property // Required: false @@ -58,7 +58,7 @@ type AWSServerlessFunction struct { // Policies AWS CloudFormation Property // Required: false // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction - Policies *AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPolicyDocument `json:"Policies,omitempty"` + Policies *AWSServerlessFunction_Policies `json:"Policies,omitempty"` // Role AWS CloudFormation Property // Required: false diff --git a/cloudformation/aws-serverless-function_eventsource.go b/cloudformation/aws-serverless-function_eventsource.go index 43280529c7..73f283f06e 100644 --- a/cloudformation/aws-serverless-function_eventsource.go +++ b/cloudformation/aws-serverless-function_eventsource.go @@ -7,7 +7,7 @@ type AWSServerlessFunction_EventSource struct { // Properties AWS CloudFormation Property // Required: true // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-types - Properties *AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEventOrScheduleEventOrCloudWatchEventEventOrIoTRuleEventOrAlexaSkillEvent `json:"Properties,omitempty"` + Properties *AWSServerlessFunction_Properties `json:"Properties,omitempty"` // Type AWS CloudFormation Property // Required: true diff --git a/cloudformation/aws-serverless-function_s3event.go b/cloudformation/aws-serverless-function_s3event.go index 619aa0cc04..40bfe64722 100644 --- a/cloudformation/aws-serverless-function_s3event.go +++ b/cloudformation/aws-serverless-function_s3event.go @@ -12,7 +12,7 @@ type AWSServerlessFunction_S3Event struct { // Events AWS CloudFormation Property // Required: true // See: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3 - Events *AWSServerlessFunction_StringOrListOfString `json:"Events,omitempty"` + Events *AWSServerlessFunction_Events `json:"Events,omitempty"` // Filter AWS CloudFormation Property // Required: false diff --git a/cloudformation/awsserverlessapi_stringors3location.go b/cloudformation/awsserverlessapi_definitionuri.go similarity index 63% rename from cloudformation/awsserverlessapi_stringors3location.go rename to cloudformation/awsserverlessapi_definitionuri.go index f2b7b9dc51..474fd70485 100644 --- a/cloudformation/awsserverlessapi_stringors3location.go +++ b/cloudformation/awsserverlessapi_definitionuri.go @@ -6,14 +6,14 @@ import ( "github.com/mitchellh/mapstructure" ) -// AWSServerlessApi_StringOrS3Location is a helper struct that can hold either a String or S3Location value -type AWSServerlessApi_StringOrS3Location struct { +// AWSServerlessApi_DefinitionUri is a helper struct that can hold either a String or S3Location value +type AWSServerlessApi_DefinitionUri struct { String *string S3Location *AWSServerlessApi_S3Location } -func (r AWSServerlessApi_StringOrS3Location) value() interface{} { +func (r AWSServerlessApi_DefinitionUri) value() interface{} { if r.String != nil { return r.String @@ -27,12 +27,12 @@ func (r AWSServerlessApi_StringOrS3Location) value() interface{} { } -func (r *AWSServerlessApi_StringOrS3Location) MarshalJSON() ([]byte, error) { +func (r *AWSServerlessApi_DefinitionUri) MarshalJSON() ([]byte, error) { return json.Marshal(r.value()) } // Hook into the marshaller -func (r *AWSServerlessApi_StringOrS3Location) UnmarshalJSON(b []byte) error { +func (r *AWSServerlessApi_DefinitionUri) UnmarshalJSON(b []byte) error { // Unmarshal into interface{} to check it's type var typecheck interface{} diff --git a/cloudformation/awsserverlessapi_stringorjson.go b/cloudformation/awsserverlessapi_stringorjson.go deleted file mode 100644 index 4ad2d4453d..0000000000 --- a/cloudformation/awsserverlessapi_stringorjson.go +++ /dev/null @@ -1,55 +0,0 @@ -package cloudformation - -import ( - "encoding/json" -) - -// AWSServerlessApi_StringOrJson is a helper struct that can hold either a String or Json value -type AWSServerlessApi_StringOrJson struct { - String *string - Json *interface{} -} - -func (r AWSServerlessApi_StringOrJson) value() interface{} { - - if r.String != nil { - return r.String - } - - if r.Json != nil { - return r.Json - } - - return nil - -} - -func (r *AWSServerlessApi_StringOrJson) MarshalJSON() ([]byte, error) { - return json.Marshal(r.value()) -} - -// Hook into the marshaller -func (r *AWSServerlessApi_StringOrJson) UnmarshalJSON(b []byte) error { - - // Unmarshal into interface{} to check it's type - var typecheck interface{} - if err := json.Unmarshal(b, &typecheck); err != nil { - return err - } - - switch val := typecheck.(type) { - - case string: - r.String = &val - - case interface{}: - r.Json = &val - - case map[string]interface{}: - - case []interface{}: - - } - - return nil -} diff --git a/cloudformation/awsserverlessfunction_stringors3location.go b/cloudformation/awsserverlessfunction_codeuri.go similarity index 62% rename from cloudformation/awsserverlessfunction_stringors3location.go rename to cloudformation/awsserverlessfunction_codeuri.go index c2f28c2fe0..f522f9f4f2 100644 --- a/cloudformation/awsserverlessfunction_stringors3location.go +++ b/cloudformation/awsserverlessfunction_codeuri.go @@ -6,14 +6,14 @@ import ( "github.com/mitchellh/mapstructure" ) -// AWSServerlessFunction_StringOrS3Location is a helper struct that can hold either a String or S3Location value -type AWSServerlessFunction_StringOrS3Location struct { +// AWSServerlessFunction_CodeUri is a helper struct that can hold either a String or S3Location value +type AWSServerlessFunction_CodeUri struct { String *string S3Location *AWSServerlessFunction_S3Location } -func (r AWSServerlessFunction_StringOrS3Location) value() interface{} { +func (r AWSServerlessFunction_CodeUri) value() interface{} { if r.String != nil { return r.String @@ -27,12 +27,12 @@ func (r AWSServerlessFunction_StringOrS3Location) value() interface{} { } -func (r *AWSServerlessFunction_StringOrS3Location) MarshalJSON() ([]byte, error) { +func (r *AWSServerlessFunction_CodeUri) MarshalJSON() ([]byte, error) { return json.Marshal(r.value()) } // Hook into the marshaller -func (r *AWSServerlessFunction_StringOrS3Location) UnmarshalJSON(b []byte) error { +func (r *AWSServerlessFunction_CodeUri) UnmarshalJSON(b []byte) error { // Unmarshal into interface{} to check it's type var typecheck interface{} diff --git a/cloudformation/awsserverlessfunction_stringorlistofstring.go b/cloudformation/awsserverlessfunction_events.go similarity index 62% rename from cloudformation/awsserverlessfunction_stringorlistofstring.go rename to cloudformation/awsserverlessfunction_events.go index 9fe57e2331..399d838e94 100644 --- a/cloudformation/awsserverlessfunction_stringorlistofstring.go +++ b/cloudformation/awsserverlessfunction_events.go @@ -6,14 +6,14 @@ import ( "github.com/mitchellh/mapstructure" ) -// AWSServerlessFunction_StringOrListOfString is a helper struct that can hold either a String or String value -type AWSServerlessFunction_StringOrListOfString struct { +// AWSServerlessFunction_Events is a helper struct that can hold either a String or String value +type AWSServerlessFunction_Events struct { String *string StringArray *[]string } -func (r AWSServerlessFunction_StringOrListOfString) value() interface{} { +func (r AWSServerlessFunction_Events) value() interface{} { if r.String != nil { return r.String @@ -27,12 +27,12 @@ func (r AWSServerlessFunction_StringOrListOfString) value() interface{} { } -func (r *AWSServerlessFunction_StringOrListOfString) MarshalJSON() ([]byte, error) { +func (r *AWSServerlessFunction_Events) MarshalJSON() ([]byte, error) { return json.Marshal(r.value()) } // Hook into the marshaller -func (r *AWSServerlessFunction_StringOrListOfString) UnmarshalJSON(b []byte) error { +func (r *AWSServerlessFunction_Events) UnmarshalJSON(b []byte) error { // Unmarshal into interface{} to check it's type var typecheck interface{} diff --git a/cloudformation/awsserverlessfunction_stringoriampolicydocumentorlistofstringorlistofiampolicydocument.go b/cloudformation/awsserverlessfunction_policies.go similarity index 61% rename from cloudformation/awsserverlessfunction_stringoriampolicydocumentorlistofstringorlistofiampolicydocument.go rename to cloudformation/awsserverlessfunction_policies.go index 83d36aacaf..73d7b71d87 100644 --- a/cloudformation/awsserverlessfunction_stringoriampolicydocumentorlistofstringorlistofiampolicydocument.go +++ b/cloudformation/awsserverlessfunction_policies.go @@ -6,8 +6,8 @@ import ( "github.com/mitchellh/mapstructure" ) -// AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPolicyDocument is a helper struct that can hold either a String, String, IAMPolicyDocument, or IAMPolicyDocument value -type AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPolicyDocument struct { +// AWSServerlessFunction_Policies is a helper struct that can hold either a String, String, IAMPolicyDocument, or IAMPolicyDocument value +type AWSServerlessFunction_Policies struct { String *string StringArray *[]string @@ -17,7 +17,7 @@ type AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPol IAMPolicyDocumentArray *[]AWSServerlessFunction_IAMPolicyDocument } -func (r AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPolicyDocument) value() interface{} { +func (r AWSServerlessFunction_Policies) value() interface{} { if r.String != nil { return r.String @@ -39,12 +39,12 @@ func (r AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAM } -func (r *AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPolicyDocument) MarshalJSON() ([]byte, error) { +func (r *AWSServerlessFunction_Policies) MarshalJSON() ([]byte, error) { return json.Marshal(r.value()) } // Hook into the marshaller -func (r *AWSServerlessFunction_StringOrIAMPolicyDocumentOrListOfStringOrListOfIAMPolicyDocument) UnmarshalJSON(b []byte) error { +func (r *AWSServerlessFunction_Policies) UnmarshalJSON(b []byte) error { // Unmarshal into interface{} to check it's type var typecheck interface{} diff --git a/cloudformation/awsserverlessfunction_s3eventorsnseventorkinesiseventordynamodbeventorapieventorscheduleeventorcloudwatcheventeventoriotruleeventoralexaskillevent.go b/cloudformation/awsserverlessfunction_properties.go similarity index 64% rename from cloudformation/awsserverlessfunction_s3eventorsnseventorkinesiseventordynamodbeventorapieventorscheduleeventorcloudwatcheventeventoriotruleeventoralexaskillevent.go rename to cloudformation/awsserverlessfunction_properties.go index afa3b8cd5e..593ac8c478 100644 --- a/cloudformation/awsserverlessfunction_s3eventorsnseventorkinesiseventordynamodbeventorapieventorscheduleeventorcloudwatcheventeventoriotruleeventoralexaskillevent.go +++ b/cloudformation/awsserverlessfunction_properties.go @@ -6,8 +6,8 @@ import ( "github.com/mitchellh/mapstructure" ) -// AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEventOrScheduleEventOrCloudWatchEventEventOrIoTRuleEventOrAlexaSkillEvent is a helper struct that can hold either a S3Event, SNSEvent, KinesisEvent, DynamoDBEvent, ApiEvent, ScheduleEvent, CloudWatchEventEvent, IoTRuleEvent, or AlexaSkillEvent value -type AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEventOrScheduleEventOrCloudWatchEventEventOrIoTRuleEventOrAlexaSkillEvent struct { +// AWSServerlessFunction_Properties is a helper struct that can hold either a S3Event, SNSEvent, KinesisEvent, DynamoDBEvent, ApiEvent, ScheduleEvent, CloudWatchEventEvent, IoTRuleEvent, or AlexaSkillEvent value +type AWSServerlessFunction_Properties struct { S3Event *AWSServerlessFunction_S3Event SNSEvent *AWSServerlessFunction_SNSEvent KinesisEvent *AWSServerlessFunction_KinesisEvent @@ -19,7 +19,7 @@ type AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEv AlexaSkillEvent *AWSServerlessFunction_AlexaSkillEvent } -func (r AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEventOrScheduleEventOrCloudWatchEventEventOrIoTRuleEventOrAlexaSkillEvent) value() interface{} { +func (r AWSServerlessFunction_Properties) value() interface{} { if r.S3Event != nil { return r.S3Event @@ -61,12 +61,12 @@ func (r AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrAp } -func (r *AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEventOrScheduleEventOrCloudWatchEventEventOrIoTRuleEventOrAlexaSkillEvent) MarshalJSON() ([]byte, error) { +func (r *AWSServerlessFunction_Properties) MarshalJSON() ([]byte, error) { return json.Marshal(r.value()) } // Hook into the marshaller -func (r *AWSServerlessFunction_S3EventOrSNSEventOrKinesisEventOrDynamoDBEventOrApiEventOrScheduleEventOrCloudWatchEventEventOrIoTRuleEventOrAlexaSkillEvent) UnmarshalJSON(b []byte) error { +func (r *AWSServerlessFunction_Properties) UnmarshalJSON(b []byte) error { // Unmarshal into interface{} to check it's type var typecheck interface{} diff --git a/generate/property.go b/generate/property.go index 2cb573027e..109c720605 100644 --- a/generate/property.go +++ b/generate/property.go @@ -73,7 +73,7 @@ func (p Property) Schema(name, parent string) string { // available in the template to be used to detect when trailing commas // are required in the JSON when looping through maps tmpl, err := template.New("schema-property.template").Funcs(template.FuncMap{ - "counter": counter, + "counter": counter, "convertToJSONType": convertTypeToJSON, }).ParseFiles("generate/templates/schema-property.template") @@ -138,7 +138,7 @@ func (p Property) IsCustomType() bool { // GoType returns the correct type for this property // within a Go struct. For example, []string or map[string]AWSLambdaFunction_VpcConfig -func (p Property) GoType(basename string) string { +func (p Property) GoType(basename string, name string) string { if p.IsPolymorphic() { @@ -153,9 +153,8 @@ func (p Property) GoType(basename string) string { types = append(types, "ListOf"+t) } - name := basename + "_" + strings.Join(types, "Or") - generatePolymorphicProperty(name, p) - return name + generatePolymorphicProperty(basename+"_"+name, p) + return basename + "_" + name } diff --git a/generate/property_test.go b/generate/property_test.go index 58ad4b9966..2b055a51f2 100644 --- a/generate/property_test.go +++ b/generate/property_test.go @@ -55,7 +55,7 @@ var _ = Describe("Goformation Code Generator", func() { Context("specified as a Go struct", func() { value := "test-primitive-value" - property := &cloudformation.AWSServerlessFunction_StringOrS3Location{ + property := &cloudformation.AWSServerlessFunction_CodeUri{ String: &value, } @@ -72,11 +72,11 @@ var _ = Describe("Goformation Code Generator", func() { property := []byte(`"test-primitive-value"`) value := "test-primitive-value" - expected := &cloudformation.AWSServerlessFunction_StringOrS3Location{ + expected := &cloudformation.AWSServerlessFunction_CodeUri{ String: &value, } - result := &cloudformation.AWSServerlessFunction_StringOrS3Location{} + result := &cloudformation.AWSServerlessFunction_CodeUri{} err := json.Unmarshal(property, result) It("should unmarshal to a Go struct successfully", func() { Expect(result).To(Equal(expected)) @@ -91,7 +91,7 @@ var _ = Describe("Goformation Code Generator", func() { Context("specified as a Go struct", func() { - property := &cloudformation.AWSServerlessFunction_StringOrS3Location{ + property := &cloudformation.AWSServerlessFunction_CodeUri{ S3Location: &cloudformation.AWSServerlessFunction_S3Location{ Bucket: "test-bucket", Key: "test-key", @@ -113,7 +113,7 @@ var _ = Describe("Goformation Code Generator", func() { property := []byte(`{"Bucket":"test-bucket","Key":"test-key","Version":123}`) - expected := &cloudformation.AWSServerlessFunction_StringOrS3Location{ + expected := &cloudformation.AWSServerlessFunction_CodeUri{ S3Location: &cloudformation.AWSServerlessFunction_S3Location{ Bucket: "test-bucket", Key: "test-key", @@ -121,7 +121,7 @@ var _ = Describe("Goformation Code Generator", func() { }, } - result := &cloudformation.AWSServerlessFunction_StringOrS3Location{} + result := &cloudformation.AWSServerlessFunction_CodeUri{} err := json.Unmarshal(property, result) It("should unmarshal to a Go struct successfully", func() { Expect(result).To(Equal(expected)) diff --git a/generate/resource_test.go b/generate/resource_test.go index cdf9d62b29..06876e5046 100644 --- a/generate/resource_test.go +++ b/generate/resource_test.go @@ -20,7 +20,7 @@ var _ = Describe("Resource", func() { codeuri := "s3://bucket/key" resource := &cloudformation.AWSServerlessFunction{ Runtime: "nodejs6.10", - CodeUri: &cloudformation.AWSServerlessFunction_StringOrS3Location{ + CodeUri: &cloudformation.AWSServerlessFunction_CodeUri{ String: &codeuri, }, } @@ -39,7 +39,7 @@ var _ = Describe("Resource", func() { resource := &cloudformation.AWSServerlessFunction{ Runtime: "nodejs6.10", - CodeUri: &cloudformation.AWSServerlessFunction_StringOrS3Location{ + CodeUri: &cloudformation.AWSServerlessFunction_CodeUri{ S3Location: &cloudformation.AWSServerlessFunction_S3Location{ Bucket: "test-bucket", Key: "test-key", @@ -70,7 +70,7 @@ var _ = Describe("Resource", func() { subproperty := &cloudformation.AWSServerlessFunction_S3Event{ Bucket: "my-bucket", - Events: &cloudformation.AWSServerlessFunction_StringOrListOfString{ + Events: &cloudformation.AWSServerlessFunction_Events{ StringArray: &[]string{"s3:ObjectCreated:*", "s3:ObjectRemoved:*"}, }, } @@ -90,7 +90,7 @@ var _ = Describe("Resource", func() { event := "s3:ObjectCreated:*" subproperty := &cloudformation.AWSServerlessFunction_S3Event{ Bucket: "my-bucket", - Events: &cloudformation.AWSServerlessFunction_StringOrListOfString{ + Events: &cloudformation.AWSServerlessFunction_Events{ String: &event, }, } diff --git a/generate/templates/resource.template b/generate/templates/resource.template index d13c110eea..2134a2f390 100644 --- a/generate/templates/resource.template +++ b/generate/templates/resource.template @@ -14,7 +14,7 @@ type {{.StructName}} struct { // {{$name}} AWS CloudFormation Property // Required: {{$property.Required}} // See: {{$property.Documentation}} - {{$name}} {{if (or ($property.IsPolymorphic) ($property.IsCustomType) )}}*{{end}}{{$property.GoType $.Basename}} `json:"{{$name}},omitempty"` + {{$name}} {{if (or ($property.IsPolymorphic) ($property.IsCustomType) )}}*{{end}}{{$property.GoType $.Basename $name}} `json:"{{$name}},omitempty"` {{end}} } diff --git a/goformation_test.go b/goformation_test.go index 23d453b914..9e29e173c7 100644 --- a/goformation_test.go +++ b/goformation_test.go @@ -323,7 +323,7 @@ var _ = Describe("Goformation", func() { Resources: map[string]interface{}{ "MySAMFunction": cloudformation.AWSServerlessFunction{ Handler: "nodejs6.10", - CodeUri: &cloudformation.AWSServerlessFunction_StringOrS3Location{ + CodeUri: &cloudformation.AWSServerlessFunction_CodeUri{ S3Location: &cloudformation.AWSServerlessFunction_S3Location{ Bucket: "test-bucket", Key: "test-key", @@ -355,7 +355,7 @@ var _ = Describe("Goformation", func() { Resources: map[string]interface{}{ "MySAMFunction": cloudformation.AWSServerlessFunction{ Handler: "nodejs6.10", - CodeUri: &cloudformation.AWSServerlessFunction_StringOrS3Location{ + CodeUri: &cloudformation.AWSServerlessFunction_CodeUri{ String: &codeuri, }, }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 50b57ed5ec..d4435d4d5a 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -158,6 +158,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AuthType": { + "type": "string" + }, "AuthorizerCredentials": { "type": "string" }, @@ -461,9 +464,6 @@ "MetricsEnabled": { "type": "boolean" }, - "StageName": { - "type": "string" - }, "ThrottlingBurstLimit": { "type": "number" }, @@ -816,6 +816,9 @@ }, "type": "array" }, + "OperationName": { + "type": "string" + }, "RequestModels": { "additionalProperties": false, "patternProperties": { @@ -834,6 +837,9 @@ }, "type": "object" }, + "RequestValidatorId": { + "type": "string" + }, "ResourceId": { "type": "string" }, @@ -873,6 +879,9 @@ "CacheNamespace": { "type": "string" }, + "ContentHandling": { + "type": "string" + }, "Credentials": { "type": "string" }, @@ -918,6 +927,9 @@ "AWS::ApiGateway::Method.IntegrationResponse": { "additionalProperties": false, "properties": { + "ContentHandling": { + "type": "string" + }, "ResponseParameters": { "additionalProperties": false, "patternProperties": { @@ -1838,6 +1850,70 @@ ], "type": "object" }, + "AWS::Athena::NamedQuery": { + "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": { + "Database": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "required": [ + "Database", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::NamedQuery" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -1873,6 +1949,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AsTags": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" + }, + "type": "array" + }, "AvailabilityZones": { "items": { "type": "string" @@ -1897,6 +1979,12 @@ "LaunchConfigurationName": { "type": "string" }, + "LifecycleHookSpecificationList": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" + }, + "type": "array" + }, "LoadBalancerNames": { "items": { "type": "string" @@ -1924,12 +2012,6 @@ "PlacementGroup": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" - }, - "type": "array" - }, "TargetGroupARNs": { "items": { "type": "string" @@ -1971,6 +2053,37 @@ ], "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { + "additionalProperties": false, + "properties": { + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { "additionalProperties": false, "properties": { @@ -2225,6 +2338,9 @@ "HeartbeatTimeout": { "type": "number" }, + "LifecycleHookName": { + "type": "string" + }, "LifecycleTransition": { "type": "string" }, @@ -3262,7 +3378,7 @@ ], "type": "object" }, - "AWS::CloudFront::Distribution": { + "AWS::CloudTrail::Trail": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -3294,18 +3410,61 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "CloudWatchLogsRoleArn": { + "type": "string" + }, + "EnableLogFileValidation": { + "type": "boolean" + }, + "EventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" + }, + "type": "array" + }, + "IncludeGlobalServiceEvents": { + "type": "boolean" + }, + "IsLogging": { + "type": "boolean" + }, + "IsMultiRegionTrail": { + "type": "boolean" + }, + "KMSKeyId": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "SnsTopicName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrailName": { + "type": "string" } }, "required": [ - "DistributionConfig" + "IsLogging", + "S3BucketName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::Distribution" + "AWS::CloudTrail::Trail" ], "type": "string" } @@ -3316,397 +3475,181 @@ ], "type": "object" }, - "AWS::CloudFront::Distribution.CacheBehavior": { + "AWS::CloudTrail::Trail.DataResource": { "additionalProperties": false, "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "PathPattern": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { + "Type": { "type": "string" }, - "TrustedSigners": { + "Values": { "items": { "type": "string" }, "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" } }, "required": [ - "ForwardedValues", - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.Cookies": { + "AWS::CloudTrail::Trail.EventSelector": { "additionalProperties": false, "properties": { - "Forward": { - "type": "string" - }, - "WhitelistedNames": { + "DataResources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" }, "type": "array" - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { - "additionalProperties": false, - "properties": { - "ErrorCachingMinTTL": { - "type": "number" - }, - "ErrorCode": { - "type": "number" }, - "ResponseCode": { - "type": "number" + "IncludeManagementEvents": { + "type": "boolean" }, - "ResponsePagePath": { + "ReadWriteType": { "type": "string" } }, - "required": [ - "ErrorCode" - ], "type": "object" }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { + "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginProtocolPolicy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "ForwardedValues", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" - }, - "type": "array" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" - }, - "DefaultRootObject": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "type": "string" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" - }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" - }, - "type": "array" - }, - "PriceClass": { - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "DefaultCacheBehavior", - "Enabled", - "Origins" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestrictionType": { - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" + "Metadata": { + "type": "object" }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "type": "string" + }, + "EvaluationPeriods": { + "type": "number" + }, + "ExtendedStatistic": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "TreatMissingData": { + "type": "string" + }, + "Unit": { + "type": "string" + } }, - "type": "array" + "required": [ + "ComparisonOperator", + "EvaluationPeriods", + "MetricName", + "Namespace", + "Period", + "Threshold" + ], + "type": "object" }, - "OriginPath": { + "Type": { + "enum": [ + "AWS::CloudWatch::Alarm" + ], "type": "string" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } }, "required": [ - "DomainName", - "Id" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { + "AWS::CloudWatch::Alarm.Dimension": { "additionalProperties": false, "properties": { - "HeaderName": { + "Name": { "type": "string" }, - "HeaderValue": { + "Value": { "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" - } - }, - "required": [ - "GeoRestriction" + "Name", + "Value" ], "type": "object" }, - "AWS::CloudFront::Distribution.S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerCertificate": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "type": "string" - }, - "SslSupportMethod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudTrail::Trail": { + "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -3738,61 +3681,21 @@ "Properties": { "additionalProperties": false, "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "type": "array" - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "SnsTopicName": { + "DashboardBody": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrailName": { + "DashboardName": { "type": "string" } }, "required": [ - "IsLogging", - "S3BucketName" + "DashboardBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudTrail::Trail" + "AWS::CloudWatch::Dashboard" ], "type": "string" } @@ -3803,43 +3706,7 @@ ], "type": "object" }, - "AWS::CloudTrail::Trail.DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "type": "array" - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm": { + "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -3871,86 +3738,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" }, - "ComparisonOperator": { + "Description": { "type": "string" }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { + "EncryptionKey": { "type": "string" }, - "EvaluationPeriods": { - "type": "number" + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" }, - "ExtendedStatistic": { + "Name": { "type": "string" }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricName": { + "ServiceRole": { "type": "string" }, - "Namespace": { - "type": "string" + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" }, - "OKActions": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { + "TimeoutInMinutes": { "type": "number" - }, - "TreatMissingData": { - "type": "string" - }, - "Unit": { - "type": "string" } }, "required": [ - "ComparisonOperator", - "EvaluationPeriods", - "MetricName", - "Namespace", - "Period", - "Threshold" + "Artifacts", + "Environment", + "ServiceRole", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::CodeBuild::Project" ], "type": "string" } @@ -3961,223 +3790,66 @@ ], "type": "object" }, - "AWS::CloudWatch::Alarm.Dimension": { + "AWS::CodeBuild::Project.Artifacts": { "additionalProperties": false, "properties": { + "Location": { + "type": "string" + }, "Name": { "type": "string" }, - "Value": { + "NamespaceType": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "Name", - "Value" + "Type" ], "type": "object" }, - "AWS::CloudWatch::Dashboard": { + "AWS::CodeBuild::Project.Environment": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ComputeType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "Image": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardBody": { - "type": "string" - }, - "DashboardName": { - "type": "string" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" + "PrivilegedMode": { + "type": "boolean" }, "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], "type": "string" } }, "required": [ - "Type", - "Properties" + "ComputeType", + "Image", + "Type" ], "type": "object" }, - "AWS::CodeBuild::Project": { + "AWS::CodeBuild::Project.EnvironmentVariable": { "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": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "Description": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" - }, - "Name": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Project" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NamespaceType": { - "type": "string" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "type": "array" - }, - "Image": { - "type": "string" - }, - "PrivilegedMode": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { + "Name": { "type": "string" }, "Type": { @@ -4658,6 +4330,12 @@ "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo" }, "type": "array" + }, + "TargetGroupInfoList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" + }, + "type": "array" } }, "type": "object" @@ -4717,6 +4395,15 @@ }, "type": "object" }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { "additionalProperties": false, "properties": { @@ -8152,6 +7839,12 @@ "EbsOptimized": { "type": "boolean" }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, "HostId": { "type": "string" }, @@ -8325,6 +8018,18 @@ }, "type": "object" }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::EC2::Instance.InstanceIpv6Address": { "additionalProperties": false, "properties": { @@ -9065,6 +8770,9 @@ "DestinationIpv6CidrBlock": { "type": "string" }, + "EgressOnlyInternetGatewayId": { + "type": "string" + }, "GatewayId": { "type": "string" }, @@ -9249,6 +8957,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "DestinationPrefixListId": { "type": "string" }, @@ -9279,6 +8990,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "FromPort": { "type": "number" }, @@ -9341,6 +9055,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "DestinationPrefixListId": { "type": "string" }, @@ -9417,6 +9134,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "FromPort": { "type": "number" }, @@ -10538,6 +10258,12 @@ }, "VpnGatewayId": { "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" } }, "required": [ @@ -10560,6 +10286,18 @@ ], "type": "object" }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "PreSharedKey": { + "type": "string" + }, + "TunnelInsideCidr": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { @@ -10650,6 +10388,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AmazonSideAsn": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -11684,6 +11425,9 @@ }, "type": "array" }, + "CustomAmiId": { + "type": "string" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -12172,57 +11916,1231 @@ "AdjustmentType": { "type": "string" }, - "CoolDown": { + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig": { + "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": { + "ClusterId": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "required": [ + "ClusterId", + "InstanceFleetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceFleetConfig" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "required": [ + "SpotSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig": { + "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": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::SecurityConfiguration": { + "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": { + "Name": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "object" + } + }, + "required": [ + "SecurityConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::SecurityConfiguration" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step": { + "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": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + }, + "JobFlowId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Step.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster": { + "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": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ParameterGroup": { + "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": { + "CacheParameterGroupFamily": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "CacheParameterGroupFamily", + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup": { + "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": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReplicationGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ReplicationGroup" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { "type": "number" }, - "ScalingAdjustment": { - "type": "number" + "Slots": { + "type": "string" } }, - "required": [ - "ScalingAdjustment" - ], "type": "object" }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TimeoutDurationMinutes": { - "type": "number" + "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" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroup" + ], + "type": "string" } }, "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.VolumeSpecification": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SizeInGB": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "VolumeType": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], "type": "string" } }, "required": [ - "SizeInGB", - "VolumeType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig": { + "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12254,40 +13172,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterId": { + "CacheSubnetGroupName": { "type": "string" }, - "InstanceFleetType": { + "Description": { "type": "string" }, - "InstanceTypeConfigs": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + "type": "string" }, "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" } }, "required": [ - "ClusterId", - "InstanceFleetType" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::InstanceFleetConfig" + "AWS::ElastiCache::SubnetGroup" ], "type": "string" } @@ -12298,141 +13204,194 @@ ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.Configuration": { + "AWS::ElasticBeanstalk::Application": { "additionalProperties": false, "properties": { - "Classification": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConfigurationProperties": { + "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, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" } }, "type": "object" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + "ServiceRole": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" } }, - "required": [ - "VolumeSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" - }, - "type": "array" + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" }, - "EbsOptimized": { + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" } }, "type": "object" }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "AWS::ElasticBeanstalk::Application.MaxCountRule": { "additionalProperties": false, "properties": { - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "AWS::ElasticBeanstalk::ApplicationVersion": { "additionalProperties": false, "properties": { - "BidPrice": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + } + }, + "required": [ + "ApplicationName", + "SourceBundle" + ], + "type": "object" }, - "InstanceType": { + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ApplicationVersion" + ], "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "required": [ - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { "additionalProperties": false, "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "S3Bucket": { "type": "string" }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { + "S3Key": { "type": "string" } }, "required": [ - "SizeInGB", - "VolumeType" + "S3Bucket", + "S3Key" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig": { + "AWS::ElasticBeanstalk::ConfigurationTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12464,51 +13423,39 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + "ApplicationName": { + "type": "string" }, - "BidPrice": { + "Description": { "type": "string" }, - "Configurations": { + "EnvironmentId": { + "type": "string" + }, + "OptionSettings": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" }, "type": "array" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { + "PlatformArn": { "type": "string" }, - "Market": { + "SolutionStackName": { "type": "string" }, - "Name": { - "type": "string" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::InstanceGroupConfig" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" } @@ -12519,125 +13466,144 @@ ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + "Namespace": { + "type": "string" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" } }, "required": [ - "Constraints", - "Rules" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { + "ApplicationName": { "type": "string" }, - "Threshold": { - "type": "number" - }, - "Unit": { + "TemplateName": { "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "ApplicationName", + "TemplateName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { + "AWS::ElasticBeanstalk::Environment": { "additionalProperties": false, "properties": { - "Classification": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConfigurationProperties": { + "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, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { "type": "string" } }, + "required": [ + "ApplicationName" + ], "type": "object" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "type": "string" } }, "required": [ - "VolumeSpecification" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "AWS::ElasticBeanstalk::Environment.OptionSetting": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" + "Namespace": { + "type": "string" }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { + "OptionName": { + "type": "string" + }, + "ResourceName": { "type": "string" }, "Value": { @@ -12645,277 +13611,325 @@ } }, "required": [ - "Key", - "Value" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "AWS::ElasticBeanstalk::Environment.Tier": { "additionalProperties": false, "properties": { - "Market": { + "Name": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + "Type": { + "type": "string" + }, + "Version": { + "type": "string" } }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "AWS::ElasticLoadBalancing::LoadBalancer": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MinCapacity": { - "type": "number" + "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": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancing::LoadBalancer" + ], + "type": "string" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + "EmitInterval": { + "type": "number" }, - "Description": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "Name": { + "S3BucketName": { "type": "string" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + "S3BucketPrefix": { + "type": "string" } }, "required": [ - "Action", - "Name", - "Trigger" + "Enabled", + "S3BucketName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + "CookieName": { + "type": "string" + }, + "PolicyName": { + "type": "string" } }, "required": [ - "CloudWatchAlarmDefinition" + "CookieName", + "PolicyName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { "additionalProperties": false, "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ScalingAdjustment": { + "Timeout": { "type": "number" } }, "required": [ - "ScalingAdjustment" + "Enabled" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { + "properties": { + "IdleTimeout": { "type": "number" - }, - "VolumeType": { - "type": "string" } }, "required": [ - "SizeInGB", - "VolumeType" + "IdleTimeout" ], "type": "object" }, - "AWS::EMR::SecurityConfiguration": { + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HealthyThreshold": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Interval": { + "type": "string" }, - "Metadata": { - "type": "object" + "Target": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" + "Timeout": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], + "UnhealthyThreshold": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" ], "type": "object" }, - "AWS::EMR::Step": { + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CookieExpirationPeriod": { "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": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" - }, - "JobFlowId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], + "PolicyName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EMR::Step.HadoopJarStepConfig": { + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "InstancePort": { + "type": "string" }, - "Jar": { + "InstanceProtocol": { "type": "string" }, - "MainClass": { + "LoadBalancerPort": { "type": "string" }, - "StepProperties": { + "PolicyNames": { "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + "type": "string" }, "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { + "type": "string" } }, "required": [ - "Jar" + "InstancePort", + "LoadBalancerPort", + "Protocol" ], "type": "object" }, - "AWS::EMR::Step.KeyValue": { + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { "additionalProperties": false, "properties": { - "Key": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { "type": "string" }, - "Value": { + "PolicyType": { "type": "string" } }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], "type": "object" }, - "AWS::ElastiCache::CacheCluster": { + "AWS::ElasticLoadBalancingV2::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12947,95 +13961,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "Tags": { + "Certificates": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" }, "type": "array" }, - "VpcSecurityGroupIds": { + "DefaultActions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" }, "type": "array" + }, + "LoadBalancerArn": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "SslPolicy": { + "type": "string" } }, "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" + "DefaultActions", + "LoadBalancerArn", + "Port", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" } @@ -13046,7 +14007,32 @@ ], "type": "object" }, - "AWS::ElastiCache::ParameterGroup": { + "AWS::ElasticLoadBalancingV2::Listener.Action": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TargetGroupArn", + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13078,31 +14064,25 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheParameterGroupFamily": { - "type": "string" + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" + }, + "type": "array" }, - "Description": { + "ListenerArn": { "type": "string" - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" } }, "required": [ - "CacheParameterGroupFamily", - "Description" + "Certificates", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" } @@ -13113,7 +14093,16 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13145,111 +14134,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { - "type": "string" - }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" }, "type": "array" }, - "SnapshotArns": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" }, "type": "array" }, - "SnapshotName": { + "ListenerArn": { "type": "string" }, - "SnapshotRetentionLimit": { + "Priority": { "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnapshottingClusterId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ReplicationGroupDescription" + "Actions", + "Conditions", + "ListenerArn", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" } @@ -13260,28 +14174,38 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { "additionalProperties": false, "properties": { - "PrimaryAvailabilityZone": { + "TargetGroupArn": { "type": "string" }, - "ReplicaAvailabilityZones": { + "Type": { + "type": "string" + } + }, + "required": [ + "TargetGroupArn", + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Values": { "items": { "type": "string" }, "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" } }, "type": "object" }, - "AWS::ElastiCache::SecurityGroup": { + "AWS::ElasticLoadBalancingV2::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13313,90 +14237,92 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "IpAddressType": { + "type": "string" + }, + "LoadBalancerAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { "type": "string" } - }, - "required": [ - "Description" - ], + }, "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElastiCache::SecurityGroupIngress": { + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Key": { "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": { - "CacheSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], + "SubnetId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AllocationId", + "SubnetId" ], "type": "object" }, - "AWS::ElastiCache::SubnetGroup": { + "AWS::ElasticLoadBalancingV2::TargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13428,28 +14354,74 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSubnetGroupName": { + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { "type": "string" }, - "Description": { + "HealthCheckPort": { "type": "string" }, - "SubnetIds": { + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" }, "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "Port", + "Protocol", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" } @@ -13460,7 +14432,49 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application": { + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "HttpCode": { + "type": "string" + } + }, + "required": [ + "HttpCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13492,21 +14506,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "AccessPolicies": { + "type": "object" + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { "type": "string" }, - "Description": { + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { "type": "string" }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::Elasticsearch::Domain" ], "type": "string" } @@ -13516,61 +14554,58 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "AWS::Elasticsearch::Domain.EBSOptions": { "additionalProperties": false, "properties": { - "ServiceRole": { - "type": "string" + "EBSEnabled": { + "type": "boolean" }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { - "additionalProperties": false, - "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + "Iops": { + "type": "number" }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" + "DedicatedMasterCount": { + "type": "number" }, - "Enabled": { + "DedicatedMasterEnabled": { "type": "boolean" }, - "MaxAgeInDays": { + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "AWS::Elasticsearch::Domain.SnapshotOptions": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxCount": { + "AutomatedSnapshotStartHour": { "type": "number" } }, "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion": { + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13602,52 +14637,165 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Description": { "type": "string" }, - "Description": { + "EventPattern": { + "type": "object" + }, + "Name": { "type": "string" }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" } }, - "required": [ - "ApplicationName", - "SourceBundle" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" + "AWS::Events::Rule" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { - "S3Bucket": { + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "S3Key": { + "InputTemplate": { "type": "string" } }, "required": [ - "S3Bucket", - "S3Key" + "InputTemplate" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "type": "array" + } + }, + "required": [ + "RunCommandTargets" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandTarget": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + }, + "Id": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + }, + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + } + }, + "required": [ + "Arn", + "Id" + ], + "type": "object" + }, + "AWS::GameLift::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13679,39 +14827,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" - }, "Description": { "type": "string" }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { + "Name": { "type": "string" }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" } }, "required": [ - "ApplicationName" + "Name", + "RoutingStrategy" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" + "AWS::GameLift::Alias" ], "type": "string" } @@ -13722,42 +14856,25 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "AWS::GameLift::Alias.RoutingStrategy": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { + "FleetId": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationName": { + "Message": { "type": "string" }, - "TemplateName": { + "Type": { "type": "string" } }, "required": [ - "ApplicationName", - "TemplateName" + "Type" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment": { + "AWS::GameLift::Build": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13789,99 +14906,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { + "Name": { "type": "string" }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" }, - "VersionLabel": { + "Version": { "type": "string" } }, - "required": [ - "ApplicationName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Environment" + "AWS::GameLift::Build" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "AWS::GameLift::Build.S3Location": { "additionalProperties": false, "properties": { - "Namespace": { + "Bucket": { "type": "string" }, - "OptionName": { + "Key": { "type": "string" }, - "Value": { + "RoleArn": { "type": "string" } }, "required": [ - "Namespace", - "OptionName" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer": { + "AWS::GameLift::Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13913,90 +14982,58 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + "BuildId": { + "type": "string" }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" + "Description": { + "type": "string" }, - "AvailabilityZones": { + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" }, "type": "array" }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + "EC2InstanceType": { + "type": "string" }, - "Instances": { + "LogPaths": { "items": { "type": "string" }, "type": "array" }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" + "MaxSize": { + "type": "number" }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" + "MinSize": { + "type": "number" }, - "LoadBalancerName": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { + "ServerLaunchParameters": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ServerLaunchPath": { + "type": "string" } }, "required": [ - "Listeners" + "BuildId", + "DesiredEC2Instances", + "EC2InstanceType", + "Name", + "ServerLaunchPath" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" + "AWS::GameLift::Fleet" ], "type": "string" } @@ -14007,179 +15044,31 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { - "additionalProperties": false, - "properties": { - "EmitInterval": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "S3BucketName": { - "type": "string" - }, - "S3BucketPrefix": { - "type": "string" - } - }, - "required": [ - "Enabled", - "S3BucketName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieName": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "CookieName", - "PolicyName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeout": { - "type": "number" - } - }, - "required": [ - "IdleTimeout" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "string" - }, - "Interval": { - "type": "string" - }, - "Target": { - "type": "string" - }, - "Timeout": { - "type": "string" - }, - "UnhealthyThreshold": { - "type": "string" - } - }, - "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieExpirationPeriod": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "string" - }, - "InstanceProtocol": { - "type": "string" - }, - "LoadBalancerPort": { - "type": "string" - }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SSLCertificateId": { - "type": "string" - } - }, - "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "AWS::GameLift::Fleet.IpPermission": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" + "FromPort": { + "type": "number" }, - "PolicyName": { + "IpRange": { "type": "string" }, - "PolicyType": { + "Protocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Attributes", - "PolicyName", - "PolicyType" + "FromPort", + "IpRange", + "Protocol", + "ToPort" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener": { + "AWS::Glue::Classifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14211,78 +15100,47 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" - }, - "type": "array" - }, - "LoadBalancerArn": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" } }, - "required": [ - "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::Glue::Classifier" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { + "AWS::Glue::Classifier.GrokClassifier": { "additionalProperties": false, "properties": { - "TargetGroupArn": { + "Classification": { "type": "string" }, - "Type": { + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "TargetGroupArn", - "Type" + "Classification", + "GrokPattern" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "AWS::Glue::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14314,25 +15172,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { + "CatalogId": { "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" } }, "required": [ - "Certificates", - "ListenerArn" + "CatalogId", + "ConnectionInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::Glue::Connection" ], "type": "string" } @@ -14343,16 +15198,56 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "AWS::Glue::Connection.ConnectionInput": { "additionalProperties": false, "properties": { - "CertificateArn": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, + "required": [ + "ConnectionProperties", + "ConnectionType" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14384,36 +15279,47 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { + "Classifiers": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" + "type": "string" }, "type": "array" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "ListenerArn": { + "Description": { "type": "string" }, - "Priority": { - "type": "number" + "Name": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" } }, "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" + "DatabaseName", + "Role", + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::Glue::Crawler" ], "type": "string" } @@ -14424,38 +15330,79 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { - "TargetGroupArn": { + "ConnectionName": { "type": "string" }, - "Type": { + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { "type": "string" } }, - "required": [ - "TargetGroupArn", - "Type" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { - "Field": { + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.SchemaChangePolicy": { + "additionalProperties": false, + "properties": { + "DeleteBehavior": { "type": "string" }, - "Values": { + "UpdateBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Targets": { + "additionalProperties": false, + "properties": { + "JdbcTargets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" + }, + "S3Targets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" }, "type": "array" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "AWS::Glue::Database": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14486,93 +15433,52 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string" - }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { + "properties": { + "CatalogId": { "type": "string" + }, + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" } }, + "required": [ + "CatalogId", + "DatabaseInput" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::Glue::Database" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { - "Key": { + "Description": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { + "LocationUri": { "type": "string" }, - "SubnetId": { + "Name": { "type": "string" + }, + "Parameters": { + "type": "object" } }, - "required": [ - "AllocationId", - "SubnetId" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { + "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14604,74 +15510,43 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { + "EndpointName": { "type": "string" }, - "HealthCheckProtocol": { + "ExtraJarsS3Path": { "type": "string" }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { + "ExtraPythonLibsS3Path": { "type": "string" }, - "Port": { + "NumberOfNodes": { "type": "number" }, - "Protocol": { + "PublicKey": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { + "RoleArn": { "type": "string" }, - "Targets": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "type": "string" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "SubnetId": { "type": "string" } }, "required": [ - "Port", - "Protocol", - "VpcId" + "PublicKey", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::Glue::DevEndpoint" ], "type": "string" } @@ -14682,49 +15557,7 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { - "additionalProperties": false, - "properties": { - "HttpCode": { - "type": "string" - } - }, - "required": [ - "HttpCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain": { + "AWS::Glue::Job": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14756,106 +15589,90 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessPolicies": { - "type": "object" + "AllocatedCapacity": { + "type": "number" }, - "AdvancedOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" + }, + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { "type": "object" }, - "DomainName": { + "Description": { "type": "string" }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" - }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" }, - "ElasticsearchVersion": { + "LogUri": { "type": "string" }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + "MaxRetries": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "type": "string" + }, + "Role": { + "type": "string" } }, + "required": [ + "Command", + "Role" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::Glue::Job" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Elasticsearch::Domain.EBSOptions": { + "AWS::Glue::Job.ConnectionsList": { "additionalProperties": false, "properties": { - "EBSEnabled": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "Connections": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "AWS::Glue::Job.ExecutionProperty": { "additionalProperties": false, "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { + "MaxConcurrentRuns": { "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { + "AWS::Glue::Job.JobCommand": { "additionalProperties": false, "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" + "Name": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" } }, "type": "object" }, - "AWS::Events::Rule": { + "AWS::Glue::Partition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14887,165 +15704,182 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { + "CatalogId": { "type": "string" }, - "RoleArn": { + "DatabaseName": { "type": "string" }, - "ScheduleExpression": { - "type": "string" + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" }, - "State": { + "TableName": { "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "type": "array" } }, + "required": [ + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::Glue::Partition" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.EcsParameters": { + "AWS::Glue::Partition.Column": { "additionalProperties": false, "properties": { - "TaskCount": { - "type": "number" + "Comment": { + "type": "string" }, - "TaskDefinitionArn": { + "Name": { "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" }, - "InputTemplate": { + "Type": { "type": "string" } }, "required": [ - "InputTemplate" + "Name" ], "type": "object" }, - "AWS::Events::Rule.KinesisParameters": { + "AWS::Glue::Partition.Order": { "additionalProperties": false, "properties": { - "PartitionKeyPath": { + "Column": { "type": "string" + }, + "SortOrder": { + "type": "number" } }, "required": [ - "PartitionKeyPath" + "Column" ], "type": "object" }, - "AWS::Events::Rule.RunCommandParameters": { + "AWS::Glue::Partition.PartitionInput": { "additionalProperties": false, "properties": { - "RunCommandTargets": { + "Parameters": { + "type": "object" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + "type": "string" }, "type": "array" } }, "required": [ - "RunCommandTargets" + "Values" ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::Glue::Partition.SerdeInfo": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, - "Values": { + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "Key", - "Values" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::Glue::Partition.StorageDescriptor": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" }, - "Id": { + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "Input": { + "Location": { "type": "string" }, - "InputPath": { + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { "type": "string" }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + "Parameters": { + "type": "object" }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" }, - "RoleArn": { - "type": "string" + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Arn", - "Id" - ], "type": "object" }, - "AWS::GameLift::Alias": { + "AWS::Glue::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15077,25 +15911,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CatalogId": { "type": "string" }, - "Name": { + "DatabaseName": { "type": "string" }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" } }, "required": [ - "Name", - "RoutingStrategy" + "CatalogId", + "DatabaseName", + "TableInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Alias" + "AWS::Glue::Table" ], "type": "string" } @@ -15106,13 +15941,13 @@ ], "type": "object" }, - "AWS::GameLift::Alias.RoutingStrategy": { + "AWS::Glue::Table.Column": { "additionalProperties": false, "properties": { - "FleetId": { + "Comment": { "type": "string" }, - "Message": { + "Name": { "type": "string" }, "Type": { @@ -15120,87 +15955,153 @@ } }, "required": [ - "Type" + "Name" ], "type": "object" }, - "AWS::GameLift::Build": { + "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Column": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" }, - "Metadata": { + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::GameLift::Build.S3Location": { + "AWS::Glue::Table.TableInput": { "additionalProperties": false, "properties": { - "Bucket": { + "Description": { "type": "string" }, - "Key": { + "Name": { "type": "string" }, - "RoleArn": { + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { "type": "string" } }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], "type": "object" }, - "AWS::GameLift::Fleet": { + "AWS::Glue::Trigger": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15232,58 +16133,37 @@ "Properties": { "additionalProperties": false, "properties": { - "BuildId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + "$ref": "#/definitions/AWS::Glue::Trigger.Action" }, "type": "array" }, - "EC2InstanceType": { + "Description": { "type": "string" }, - "LogPaths": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, "Name": { "type": "string" }, - "ServerLaunchParameters": { + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { "type": "string" }, - "ServerLaunchPath": { + "Type": { "type": "string" } }, "required": [ - "BuildId", - "DesiredEC2Instances", - "EC2InstanceType", - "Name", - "ServerLaunchPath" + "Actions", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Fleet" + "AWS::Glue::Trigger" ], "type": "string" } @@ -15294,28 +16174,46 @@ ], "type": "object" }, - "AWS::GameLift::Fleet.IpPermission": { + "AWS::Glue::Trigger.Action": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "Arguments": { + "type": "object" }, - "IpRange": { + "JobName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "JobName": { "type": "string" }, - "Protocol": { + "LogicalOperator": { "type": "string" }, - "ToPort": { - "type": "number" + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" } }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], "type": "object" }, "AWS::IAM::AccessKey": { @@ -17764,7 +18662,6 @@ "BucketARN", "BufferingHints", "CompressionFormat", - "Prefix", "RoleARN" ], "type": "object" @@ -17812,6 +18709,9 @@ }, "Name": { "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" } }, "required": [ @@ -17834,6 +18734,37 @@ ], "type": "object" }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, "AWS::Lambda::EventSourceMapping": { "additionalProperties": false, "properties": { @@ -19091,6 +20022,12 @@ "StackId": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" }, @@ -19358,6 +20295,12 @@ "SourceStackId": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UseCustomCookbooks": { "type": "boolean" }, @@ -20407,6 +21350,9 @@ "OptionSettings": { "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" }, + "OptionVersion": { + "type": "string" + }, "Port": { "type": "number" }, @@ -22547,25 +23493,194 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "PolicyDocument": { + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association": { + "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": { + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" + } + }, + "type": "object" + }, + "ScheduleExpression": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Association" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association.ParameterValues": { + "additionalProperties": false, + "properties": { + "ParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ParameterValues" + ], + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::Document": { + "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": { + "Content": { "type": "object" }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" + "DocumentType": { + "type": "string" } }, "required": [ - "PolicyDocument", - "Queues" + "Content" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::SSM::Document" ], "type": "string" } @@ -22576,7 +23691,7 @@ ], "type": "object" }, - "AWS::SSM::Association": { + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -22608,42 +23723,62 @@ "Properties": { "additionalProperties": false, "properties": { - "DocumentVersion": { + "Description": { "type": "string" }, - "InstanceId": { + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { "type": "string" }, "Name": { "type": "string" }, - "Parameters": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" - } - }, - "type": "object" + "Priority": { + "type": "number" }, - "ScheduleExpression": { + "ServiceRoleArn": { "type": "string" }, "Targets": { "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" }, "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" } }, "required": [ - "Name" + "MaxErrors", + "Priority", + "ServiceRoleArn", + "Targets", + "TaskArn", + "TaskType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Association" + "AWS::SSM::MaintenanceWindowTask" ], "type": "string" } @@ -22654,22 +23789,116 @@ ], "type": "object" }, - "AWS::SSM::Association.ParameterValues": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "ParameterValues": { + "Region": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "type": "string" + }, + "NotificationEvents": { "items": { "type": "string" }, "type": "array" + }, + "NotificationType": { + "type": "string" } }, - "required": [ - "ParameterValues" - ], "type": "object" }, - "AWS::SSM::Association.Target": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { "Key": { @@ -22683,12 +23912,29 @@ } }, "required": [ - "Key", - "Values" + "Key" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -22720,21 +23966,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "object" + "AllowedPattern": { + "type": "string" }, - "DocumentType": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "Content" + "Type", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Document" + "AWS::SSM::Parameter" ], "type": "string" } @@ -22745,7 +24001,7 @@ ], "type": "object" }, - "AWS::SSM::Parameter": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -22777,31 +24033,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedPattern": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { "type": "string" }, "Description": { "type": "string" }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, "Name": { "type": "string" }, - "Type": { + "OperatingSystem": { "type": "string" }, - "Value": { - "type": "string" + "PatchGroups": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchGroup" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Value" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Parameter" + "AWS::SSM::PatchBaseline" ], "type": "string" } @@ -22812,6 +24088,65 @@ ], "type": "object" }, + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SSM::PatchBaseline.Rule": { + "additionalProperties": false, + "properties": { + "ApproveAfterDays": { + "type": "number" + }, + "ComplianceLevel": { + "type": "string" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::StepFunctions::Activity": { "additionalProperties": false, "properties": { @@ -24546,6 +25881,9 @@ { "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" }, + { + "$ref": "#/definitions/AWS::Athena::NamedQuery" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -24585,9 +25923,6 @@ { "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" }, - { - "$ref": "#/definitions/AWS::CloudFront::Distribution" - }, { "$ref": "#/definitions/AWS::CloudTrail::Trail" }, @@ -24900,6 +26235,33 @@ { "$ref": "#/definitions/AWS::GameLift::Fleet" }, + { + "$ref": "#/definitions/AWS::Glue::Classifier" + }, + { + "$ref": "#/definitions/AWS::Glue::Connection" + }, + { + "$ref": "#/definitions/AWS::Glue::Crawler" + }, + { + "$ref": "#/definitions/AWS::Glue::Database" + }, + { + "$ref": "#/definitions/AWS::Glue::DevEndpoint" + }, + { + "$ref": "#/definitions/AWS::Glue::Job" + }, + { + "$ref": "#/definitions/AWS::Glue::Partition" + }, + { + "$ref": "#/definitions/AWS::Glue::Table" + }, + { + "$ref": "#/definitions/AWS::Glue::Trigger" + }, { "$ref": "#/definitions/AWS::IAM::AccessKey" }, @@ -25098,9 +26460,15 @@ { "$ref": "#/definitions/AWS::SSM::Document" }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" + }, { "$ref": "#/definitions/AWS::SSM::Parameter" }, + { + "$ref": "#/definitions/AWS::SSM::PatchBaseline" + }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index abbd786a9b..2316c18344 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -158,6 +158,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AuthType": { + "type": "string" + }, "AuthorizerCredentials": { "type": "string" }, @@ -461,9 +464,6 @@ "MetricsEnabled": { "type": "boolean" }, - "StageName": { - "type": "string" - }, "ThrottlingBurstLimit": { "type": "number" }, @@ -816,6 +816,9 @@ }, "type": "array" }, + "OperationName": { + "type": "string" + }, "RequestModels": { "additionalProperties": false, "patternProperties": { @@ -834,6 +837,9 @@ }, "type": "object" }, + "RequestValidatorId": { + "type": "string" + }, "ResourceId": { "type": "string" }, @@ -873,6 +879,9 @@ "CacheNamespace": { "type": "string" }, + "ContentHandling": { + "type": "string" + }, "Credentials": { "type": "string" }, @@ -918,6 +927,9 @@ "AWS::ApiGateway::Method.IntegrationResponse": { "additionalProperties": false, "properties": { + "ContentHandling": { + "type": "string" + }, "ResponseParameters": { "additionalProperties": false, "patternProperties": { @@ -1838,6 +1850,70 @@ ], "type": "object" }, + "AWS::Athena::NamedQuery": { + "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": { + "Database": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "required": [ + "Database", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::NamedQuery" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -1873,6 +1949,12 @@ "Properties": { "additionalProperties": false, "properties": { + "AsTags": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" + }, + "type": "array" + }, "AvailabilityZones": { "items": { "type": "string" @@ -1897,6 +1979,12 @@ "LaunchConfigurationName": { "type": "string" }, + "LifecycleHookSpecificationList": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" + }, + "type": "array" + }, "LoadBalancerNames": { "items": { "type": "string" @@ -1924,12 +2012,6 @@ "PlacementGroup": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" - }, - "type": "array" - }, "TargetGroupARNs": { "items": { "type": "string" @@ -1971,6 +2053,37 @@ ], "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { + "additionalProperties": false, + "properties": { + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { "additionalProperties": false, "properties": { @@ -2225,6 +2338,9 @@ "HeartbeatTimeout": { "type": "number" }, + "LifecycleHookName": { + "type": "string" + }, "LifecycleTransition": { "type": "string" }, @@ -3262,7 +3378,7 @@ ], "type": "object" }, - "AWS::CloudFront::Distribution": { + "AWS::CloudTrail::Trail": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -3294,18 +3410,61 @@ "Properties": { "additionalProperties": false, "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "CloudWatchLogsRoleArn": { + "type": "string" + }, + "EnableLogFileValidation": { + "type": "boolean" + }, + "EventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" + }, + "type": "array" + }, + "IncludeGlobalServiceEvents": { + "type": "boolean" + }, + "IsLogging": { + "type": "boolean" + }, + "IsMultiRegionTrail": { + "type": "boolean" + }, + "KMSKeyId": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "SnsTopicName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrailName": { + "type": "string" } }, "required": [ - "DistributionConfig" + "IsLogging", + "S3BucketName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFront::Distribution" + "AWS::CloudTrail::Trail" ], "type": "string" } @@ -3316,397 +3475,181 @@ ], "type": "object" }, - "AWS::CloudFront::Distribution.CacheBehavior": { + "AWS::CloudTrail::Trail.DataResource": { "additionalProperties": false, "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "PathPattern": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { + "Type": { "type": "string" }, - "TrustedSigners": { + "Values": { "items": { "type": "string" }, "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" } }, "required": [ - "ForwardedValues", - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" + "Type" ], "type": "object" }, - "AWS::CloudFront::Distribution.Cookies": { + "AWS::CloudTrail::Trail.EventSelector": { "additionalProperties": false, "properties": { - "Forward": { - "type": "string" - }, - "WhitelistedNames": { + "DataResources": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" }, "type": "array" - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { - "additionalProperties": false, - "properties": { - "ErrorCachingMinTTL": { - "type": "number" - }, - "ErrorCode": { - "type": "number" }, - "ResponseCode": { - "type": "number" + "IncludeManagementEvents": { + "type": "boolean" }, - "ResponsePagePath": { + "ReadWriteType": { "type": "string" } }, - "required": [ - "ErrorCode" - ], "type": "object" }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { + "AWS::CloudWatch::Alarm": { "additionalProperties": false, "properties": { - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginProtocolPolicy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "ForwardedValues", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" - }, - "type": "array" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" - }, - "DefaultRootObject": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "type": "string" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" - }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" - }, - "type": "array" - }, - "PriceClass": { - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "DefaultCacheBehavior", - "Enabled", - "Origins" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestrictionType": { - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" + "Metadata": { + "type": "object" }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "type": "string" + }, + "EvaluationPeriods": { + "type": "number" + }, + "ExtendedStatistic": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "TreatMissingData": { + "type": "string" + }, + "Unit": { + "type": "string" + } }, - "type": "array" + "required": [ + "ComparisonOperator", + "EvaluationPeriods", + "MetricName", + "Namespace", + "Period", + "Threshold" + ], + "type": "object" }, - "OriginPath": { + "Type": { + "enum": [ + "AWS::CloudWatch::Alarm" + ], "type": "string" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" } }, "required": [ - "DomainName", - "Id" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { + "AWS::CloudWatch::Alarm.Dimension": { "additionalProperties": false, "properties": { - "HeaderName": { + "Name": { "type": "string" }, - "HeaderValue": { + "Value": { "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" - } - }, - "required": [ - "GeoRestriction" + "Name", + "Value" ], "type": "object" }, - "AWS::CloudFront::Distribution.S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerCertificate": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "type": "string" - }, - "SslSupportMethod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudTrail::Trail": { + "AWS::CloudWatch::Dashboard": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -3738,61 +3681,21 @@ "Properties": { "additionalProperties": false, "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "type": "array" - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "SnsTopicName": { + "DashboardBody": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrailName": { + "DashboardName": { "type": "string" } }, "required": [ - "IsLogging", - "S3BucketName" + "DashboardBody" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudTrail::Trail" + "AWS::CloudWatch::Dashboard" ], "type": "string" } @@ -3803,43 +3706,7 @@ ], "type": "object" }, - "AWS::CloudTrail::Trail.DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "type": "array" - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm": { + "AWS::CodeBuild::Project": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -3871,86 +3738,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" }, - "ComparisonOperator": { + "Description": { "type": "string" }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { + "EncryptionKey": { "type": "string" }, - "EvaluationPeriods": { - "type": "number" + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" }, - "ExtendedStatistic": { + "Name": { "type": "string" }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricName": { + "ServiceRole": { "type": "string" }, - "Namespace": { - "type": "string" + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" }, - "OKActions": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { + "TimeoutInMinutes": { "type": "number" - }, - "TreatMissingData": { - "type": "string" - }, - "Unit": { - "type": "string" } }, "required": [ - "ComparisonOperator", - "EvaluationPeriods", - "MetricName", - "Namespace", - "Period", - "Threshold" + "Artifacts", + "Environment", + "ServiceRole", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::CodeBuild::Project" ], "type": "string" } @@ -3961,223 +3790,66 @@ ], "type": "object" }, - "AWS::CloudWatch::Alarm.Dimension": { + "AWS::CodeBuild::Project.Artifacts": { "additionalProperties": false, "properties": { + "Location": { + "type": "string" + }, "Name": { "type": "string" }, - "Value": { + "NamespaceType": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { "type": "string" } }, "required": [ - "Name", - "Value" + "Type" ], "type": "object" }, - "AWS::CloudWatch::Dashboard": { + "AWS::CodeBuild::Project.Environment": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ComputeType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "Image": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardBody": { - "type": "string" - }, - "DashboardName": { - "type": "string" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" + "PrivilegedMode": { + "type": "boolean" }, "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], "type": "string" } }, "required": [ - "Type", - "Properties" + "ComputeType", + "Image", + "Type" ], "type": "object" }, - "AWS::CodeBuild::Project": { + "AWS::CodeBuild::Project.EnvironmentVariable": { "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": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "Description": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" - }, - "Name": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Project" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NamespaceType": { - "type": "string" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "type": "array" - }, - "Image": { - "type": "string" - }, - "PrivilegedMode": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { + "Name": { "type": "string" }, "Type": { @@ -4658,6 +4330,12 @@ "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.ELBInfo" }, "type": "array" + }, + "TargetGroupInfoList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo" + }, + "type": "array" } }, "type": "object" @@ -4717,6 +4395,15 @@ }, "type": "object" }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { "additionalProperties": false, "properties": { @@ -8152,6 +7839,12 @@ "EbsOptimized": { "type": "boolean" }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, "HostId": { "type": "string" }, @@ -8325,6 +8018,18 @@ }, "type": "object" }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::EC2::Instance.InstanceIpv6Address": { "additionalProperties": false, "properties": { @@ -9065,6 +8770,9 @@ "DestinationIpv6CidrBlock": { "type": "string" }, + "EgressOnlyInternetGatewayId": { + "type": "string" + }, "GatewayId": { "type": "string" }, @@ -9249,6 +8957,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "DestinationPrefixListId": { "type": "string" }, @@ -9279,6 +8990,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "FromPort": { "type": "number" }, @@ -9341,6 +9055,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "DestinationPrefixListId": { "type": "string" }, @@ -9417,6 +9134,9 @@ "CidrIpv6": { "type": "string" }, + "Description": { + "type": "string" + }, "FromPort": { "type": "number" }, @@ -10538,6 +10258,12 @@ }, "VpnGatewayId": { "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" } }, "required": [ @@ -10560,6 +10286,18 @@ ], "type": "object" }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "PreSharedKey": { + "type": "string" + }, + "TunnelInsideCidr": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::VPNConnectionRoute": { "additionalProperties": false, "properties": { @@ -10650,6 +10388,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AmazonSideAsn": { + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -11684,6 +11425,9 @@ }, "type": "array" }, + "CustomAmiId": { + "type": "string" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -12172,57 +11916,1231 @@ "AdjustmentType": { "type": "string" }, - "CoolDown": { + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig": { + "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": { + "ClusterId": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "required": [ + "ClusterId", + "InstanceFleetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceFleetConfig" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "required": [ + "SpotSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig": { + "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": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::SecurityConfiguration": { + "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": { + "Name": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "object" + } + }, + "required": [ + "SecurityConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::SecurityConfiguration" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step": { + "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": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + }, + "JobFlowId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Step.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster": { + "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": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ParameterGroup": { + "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": { + "CacheParameterGroupFamily": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "CacheParameterGroupFamily", + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup": { + "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": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReplicationGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ReplicationGroup" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { "type": "number" }, - "ScalingAdjustment": { - "type": "number" + "Slots": { + "type": "string" } }, - "required": [ - "ScalingAdjustment" - ], "type": "object" }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TimeoutDurationMinutes": { - "type": "number" + "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" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroup" + ], + "type": "string" } }, "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::Cluster.VolumeSpecification": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { - "Iops": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SizeInGB": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "VolumeType": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], "type": "string" } }, "required": [ - "SizeInGB", - "VolumeType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig": { + "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12254,40 +13172,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterId": { + "CacheSubnetGroupName": { "type": "string" }, - "InstanceFleetType": { + "Description": { "type": "string" }, - "InstanceTypeConfigs": { + "SubnetIds": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + "type": "string" }, "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" } }, "required": [ - "ClusterId", - "InstanceFleetType" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::InstanceFleetConfig" + "AWS::ElastiCache::SubnetGroup" ], "type": "string" } @@ -12298,141 +13204,194 @@ ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.Configuration": { + "AWS::ElasticBeanstalk::Application": { "additionalProperties": false, "properties": { - "Classification": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConfigurationProperties": { + "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, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" } }, "type": "object" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { "additionalProperties": false, "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + "ServiceRole": { + "type": "string" }, - "VolumesPerInstance": { - "type": "number" + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" } }, - "required": [ - "VolumeSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" - }, - "type": "array" + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" }, - "EbsOptimized": { + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" } }, "type": "object" }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "AWS::ElasticBeanstalk::Application.MaxCountRule": { "additionalProperties": false, "properties": { - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" } }, - "required": [ - "SpotSpecification" - ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "AWS::ElasticBeanstalk::ApplicationVersion": { "additionalProperties": false, "properties": { - "BidPrice": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + } + }, + "required": [ + "ApplicationName", + "SourceBundle" + ], + "type": "object" }, - "InstanceType": { + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ApplicationVersion" + ], "type": "string" - }, - "WeightedCapacity": { - "type": "number" } }, "required": [ - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { "additionalProperties": false, "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { + "S3Bucket": { "type": "string" }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { + "S3Key": { "type": "string" } }, "required": [ - "SizeInGB", - "VolumeType" + "S3Bucket", + "S3Key" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig": { + "AWS::ElasticBeanstalk::ConfigurationTemplate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12464,51 +13423,39 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + "ApplicationName": { + "type": "string" }, - "BidPrice": { + "Description": { "type": "string" }, - "Configurations": { + "EnvironmentId": { + "type": "string" + }, + "OptionSettings": { "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" }, "type": "array" }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { + "PlatformArn": { "type": "string" }, - "Market": { + "SolutionStackName": { "type": "string" }, - "Name": { - "type": "string" + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" } }, "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" + "ApplicationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::InstanceGroupConfig" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "type": "string" } @@ -12519,125 +13466,144 @@ ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + "Namespace": { + "type": "string" }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" } }, "required": [ - "Constraints", - "Rules" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { "additionalProperties": false, "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { + "ApplicationName": { "type": "string" }, - "Threshold": { - "type": "number" - }, - "Unit": { + "TemplateName": { "type": "string" } }, "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" + "ApplicationName", + "TemplateName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.Configuration": { + "AWS::ElasticBeanstalk::Environment": { "additionalProperties": false, "properties": { - "Classification": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ConfigurationProperties": { + "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, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { "type": "string" } }, + "required": [ + "ApplicationName" + ], "type": "object" }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "type": "string" } }, "required": [ - "VolumeSpecification" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "AWS::ElasticBeanstalk::Environment.OptionSetting": { "additionalProperties": false, "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" + "Namespace": { + "type": "string" }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { + "OptionName": { + "type": "string" + }, + "ResourceName": { "type": "string" }, "Value": { @@ -12645,277 +13611,325 @@ } }, "required": [ - "Key", - "Value" + "Namespace", + "OptionName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "AWS::ElasticBeanstalk::Environment.Tier": { "additionalProperties": false, "properties": { - "Market": { + "Name": { "type": "string" }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + "Type": { + "type": "string" + }, + "Version": { + "type": "string" } }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "AWS::ElasticLoadBalancing::LoadBalancer": { "additionalProperties": false, "properties": { - "MaxCapacity": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "MinCapacity": { - "type": "number" + "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": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancing::LoadBalancer" + ], + "type": "string" } }, "required": [ - "MaxCapacity", - "MinCapacity" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { "additionalProperties": false, "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + "EmitInterval": { + "type": "number" }, - "Description": { - "type": "string" + "Enabled": { + "type": "boolean" }, - "Name": { + "S3BucketName": { "type": "string" }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + "S3BucketPrefix": { + "type": "string" } }, "required": [ - "Action", - "Name", - "Trigger" + "Enabled", + "S3BucketName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + "CookieName": { + "type": "string" + }, + "PolicyName": { + "type": "string" } }, "required": [ - "CloudWatchAlarmDefinition" + "CookieName", + "PolicyName" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { "additionalProperties": false, "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" + "Enabled": { + "type": "boolean" }, - "ScalingAdjustment": { + "Timeout": { "type": "number" } }, "required": [ - "ScalingAdjustment" + "Enabled" ], "type": "object" }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { + "properties": { + "IdleTimeout": { "type": "number" - }, - "VolumeType": { - "type": "string" } }, "required": [ - "SizeInGB", - "VolumeType" + "IdleTimeout" ], "type": "object" }, - "AWS::EMR::SecurityConfiguration": { + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "HealthyThreshold": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Interval": { + "type": "string" }, - "Metadata": { - "type": "object" + "Target": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" + "Timeout": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], + "UnhealthyThreshold": { "type": "string" } }, "required": [ - "Type", - "Properties" + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" ], "type": "object" }, - "AWS::EMR::Step": { + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CookieExpirationPeriod": { "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": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" - }, - "JobFlowId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], + "PolicyName": { "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::EMR::Step.HadoopJarStepConfig": { + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { "additionalProperties": false, "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" + "InstancePort": { + "type": "string" }, - "Jar": { + "InstanceProtocol": { "type": "string" }, - "MainClass": { + "LoadBalancerPort": { "type": "string" }, - "StepProperties": { + "PolicyNames": { "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + "type": "string" }, "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { + "type": "string" } }, "required": [ - "Jar" + "InstancePort", + "LoadBalancerPort", + "Protocol" ], "type": "object" }, - "AWS::EMR::Step.KeyValue": { + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { "additionalProperties": false, "properties": { - "Key": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { "type": "string" }, - "Value": { + "PolicyType": { "type": "string" } }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], "type": "object" }, - "AWS::ElastiCache::CacheCluster": { + "AWS::ElasticLoadBalancingV2::Listener": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -12947,95 +13961,42 @@ "Properties": { "additionalProperties": false, "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "Tags": { + "Certificates": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" }, "type": "array" }, - "VpcSecurityGroupIds": { + "DefaultActions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" }, "type": "array" + }, + "LoadBalancerArn": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "SslPolicy": { + "type": "string" } }, "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" + "DefaultActions", + "LoadBalancerArn", + "Port", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::ElasticLoadBalancingV2::Listener" ], "type": "string" } @@ -13046,7 +14007,32 @@ ], "type": "object" }, - "AWS::ElastiCache::ParameterGroup": { + "AWS::ElasticLoadBalancingV2::Listener.Action": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TargetGroupArn", + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13078,31 +14064,25 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheParameterGroupFamily": { - "type": "string" + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" + }, + "type": "array" }, - "Description": { + "ListenerArn": { "type": "string" - }, - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" } }, "required": [ - "CacheParameterGroupFamily", - "Description" + "Certificates", + "ListenerArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "type": "string" } @@ -13113,7 +14093,16 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup": { + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13145,111 +14134,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { - "type": "string" - }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" }, "type": "array" }, - "SnapshotArns": { + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" }, "type": "array" }, - "SnapshotName": { + "ListenerArn": { "type": "string" }, - "SnapshotRetentionLimit": { + "Priority": { "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnapshottingClusterId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ReplicationGroupDescription" + "Actions", + "Conditions", + "ListenerArn", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "type": "string" } @@ -13260,28 +14174,38 @@ ], "type": "object" }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { "additionalProperties": false, "properties": { - "PrimaryAvailabilityZone": { + "TargetGroupArn": { "type": "string" }, - "ReplicaAvailabilityZones": { + "Type": { + "type": "string" + } + }, + "required": [ + "TargetGroupArn", + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Values": { "items": { "type": "string" }, "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" } }, "type": "object" }, - "AWS::ElastiCache::SecurityGroup": { + "AWS::ElasticLoadBalancingV2::LoadBalancer": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13313,90 +14237,92 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "IpAddressType": { + "type": "string" + }, + "LoadBalancerAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { "type": "string" } - }, - "required": [ - "Description" - ], + }, "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElastiCache::SecurityGroupIngress": { + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Key": { "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": { - "CacheSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], + "SubnetId": { "type": "string" } }, "required": [ - "Type", - "Properties" + "AllocationId", + "SubnetId" ], "type": "object" }, - "AWS::ElastiCache::SubnetGroup": { + "AWS::ElasticLoadBalancingV2::TargetGroup": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13428,28 +14354,74 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSubnetGroupName": { + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { "type": "string" }, - "Description": { + "HealthCheckPort": { "type": "string" }, - "SubnetIds": { + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" }, "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" } }, "required": [ - "Description", - "SubnetIds" + "Port", + "Protocol", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "type": "string" } @@ -13460,7 +14432,49 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application": { + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "HttpCode": { + "type": "string" + } + }, + "required": [ + "HttpCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13492,21 +14506,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "AccessPolicies": { + "type": "object" + }, + "AdvancedOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DomainName": { "type": "string" }, - "Description": { + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { "type": "string" }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::Elasticsearch::Domain" ], "type": "string" } @@ -13516,61 +14554,58 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "AWS::Elasticsearch::Domain.EBSOptions": { "additionalProperties": false, "properties": { - "ServiceRole": { - "type": "string" + "EBSEnabled": { + "type": "boolean" }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { - "additionalProperties": false, - "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + "Iops": { + "type": "number" }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" + "DedicatedMasterCount": { + "type": "number" }, - "Enabled": { + "DedicatedMasterEnabled": { "type": "boolean" }, - "MaxAgeInDays": { + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" } }, "type": "object" }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "AWS::Elasticsearch::Domain.SnapshotOptions": { "additionalProperties": false, "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxCount": { + "AutomatedSnapshotStartHour": { "type": "number" } }, "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion": { + "AWS::Events::Rule": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13602,52 +14637,165 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { + "Description": { "type": "string" }, - "Description": { + "EventPattern": { + "type": "object" + }, + "Name": { "type": "string" }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" } }, - "required": [ - "ApplicationName", - "SourceBundle" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" + "AWS::Events::Rule" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "AWS::Events::Rule.EcsParameters": { "additionalProperties": false, "properties": { - "S3Bucket": { + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" }, - "S3Key": { + "InputTemplate": { "type": "string" } }, "required": [ - "S3Bucket", - "S3Key" + "InputTemplate" ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "type": "array" + } + }, + "required": [ + "RunCommandTargets" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandTarget": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + }, + "Id": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + }, + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + } + }, + "required": [ + "Arn", + "Id" + ], + "type": "object" + }, + "AWS::GameLift::Alias": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13679,39 +14827,25 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" - }, "Description": { "type": "string" }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { + "Name": { "type": "string" }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" } }, "required": [ - "ApplicationName" + "Name", + "RoutingStrategy" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" + "AWS::GameLift::Alias" ], "type": "string" } @@ -13722,42 +14856,25 @@ ], "type": "object" }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "AWS::GameLift::Alias.RoutingStrategy": { "additionalProperties": false, "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { + "FleetId": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationName": { + "Message": { "type": "string" }, - "TemplateName": { + "Type": { "type": "string" } }, "required": [ - "ApplicationName", - "TemplateName" + "Type" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment": { + "AWS::GameLift::Build": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13789,99 +14906,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { + "Name": { "type": "string" }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" }, - "VersionLabel": { + "Version": { "type": "string" } }, - "required": [ - "ApplicationName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticBeanstalk::Environment" + "AWS::GameLift::Build" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "AWS::GameLift::Build.S3Location": { "additionalProperties": false, "properties": { - "Namespace": { + "Bucket": { "type": "string" }, - "OptionName": { + "Key": { "type": "string" }, - "Value": { + "RoleArn": { "type": "string" } }, "required": [ - "Namespace", - "OptionName" + "Bucket", + "Key", + "RoleArn" ], "type": "object" }, - "AWS::ElasticBeanstalk::Environment.Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer": { + "AWS::GameLift::Fleet": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -13913,90 +14982,58 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + "BuildId": { + "type": "string" }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" + "Description": { + "type": "string" }, - "AvailabilityZones": { + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" }, "type": "array" }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + "EC2InstanceType": { + "type": "string" }, - "Instances": { + "LogPaths": { "items": { "type": "string" }, "type": "array" }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" + "MaxSize": { + "type": "number" }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" + "MinSize": { + "type": "number" }, - "LoadBalancerName": { + "Name": { "type": "string" }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { + "ServerLaunchParameters": { "type": "string" }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "ServerLaunchPath": { + "type": "string" } }, "required": [ - "Listeners" + "BuildId", + "DesiredEC2Instances", + "EC2InstanceType", + "Name", + "ServerLaunchPath" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" + "AWS::GameLift::Fleet" ], "type": "string" } @@ -14007,179 +15044,31 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { - "additionalProperties": false, - "properties": { - "EmitInterval": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "S3BucketName": { - "type": "string" - }, - "S3BucketPrefix": { - "type": "string" - } - }, - "required": [ - "Enabled", - "S3BucketName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieName": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "CookieName", - "PolicyName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeout": { - "type": "number" - } - }, - "required": [ - "IdleTimeout" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "string" - }, - "Interval": { - "type": "string" - }, - "Target": { - "type": "string" - }, - "Timeout": { - "type": "string" - }, - "UnhealthyThreshold": { - "type": "string" - } - }, - "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieExpirationPeriod": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "string" - }, - "InstanceProtocol": { - "type": "string" - }, - "LoadBalancerPort": { - "type": "string" - }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SSLCertificateId": { - "type": "string" - } - }, - "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "AWS::GameLift::Fleet.IpPermission": { "additionalProperties": false, "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" + "FromPort": { + "type": "number" }, - "PolicyName": { + "IpRange": { "type": "string" }, - "PolicyType": { + "Protocol": { "type": "string" + }, + "ToPort": { + "type": "number" } }, "required": [ - "Attributes", - "PolicyName", - "PolicyType" + "FromPort", + "IpRange", + "Protocol", + "ToPort" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener": { + "AWS::Glue::Classifier": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14211,78 +15100,47 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" - }, - "type": "array" - }, - "LoadBalancerArn": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" } }, - "required": [ - "DefaultActions", - "LoadBalancerArn", - "Port", - "Protocol" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::Glue::Classifier" ], "type": "string" } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { + "AWS::Glue::Classifier.GrokClassifier": { "additionalProperties": false, "properties": { - "TargetGroupArn": { + "Classification": { "type": "string" }, - "Type": { + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { "type": "string" } }, "required": [ - "TargetGroupArn", - "Type" + "Classification", + "GrokPattern" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "AWS::Glue::Connection": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14314,25 +15172,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { + "CatalogId": { "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" } }, "required": [ - "Certificates", - "ListenerArn" + "CatalogId", + "ConnectionInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::Glue::Connection" ], "type": "string" } @@ -14343,16 +15198,56 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "AWS::Glue::Connection.ConnectionInput": { "additionalProperties": false, "properties": { - "CertificateArn": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" } }, + "required": [ + "ConnectionProperties", + "ConnectionType" + ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14384,36 +15279,47 @@ "Properties": { "additionalProperties": false, "properties": { - "Actions": { + "Classifiers": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" + "type": "string" }, "type": "array" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" + "DatabaseName": { + "type": "string" }, - "ListenerArn": { + "Description": { "type": "string" }, - "Priority": { - "type": "number" + "Name": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" } }, "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" + "DatabaseName", + "Role", + "Targets" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::Glue::Crawler" ], "type": "string" } @@ -14424,38 +15330,79 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "AWS::Glue::Crawler.JdbcTarget": { "additionalProperties": false, "properties": { - "TargetGroupArn": { + "ConnectionName": { "type": "string" }, - "Type": { + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { "type": "string" } }, - "required": [ - "TargetGroupArn", - "Type" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "AWS::Glue::Crawler.S3Target": { "additionalProperties": false, "properties": { - "Field": { + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.SchemaChangePolicy": { + "additionalProperties": false, + "properties": { + "DeleteBehavior": { "type": "string" }, - "Values": { + "UpdateBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Targets": { + "additionalProperties": false, + "properties": { + "JdbcTargets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" + }, + "S3Targets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" }, "type": "array" } }, "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "AWS::Glue::Database": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14486,93 +15433,52 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string" - }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { + "properties": { + "CatalogId": { "type": "string" + }, + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" } }, + "required": [ + "CatalogId", + "DatabaseInput" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::Glue::Database" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "AWS::Glue::Database.DatabaseInput": { "additionalProperties": false, "properties": { - "Key": { + "Description": { "type": "string" }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { + "LocationUri": { "type": "string" }, - "SubnetId": { + "Name": { "type": "string" + }, + "Parameters": { + "type": "object" } }, - "required": [ - "AllocationId", - "SubnetId" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { + "AWS::Glue::DevEndpoint": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14604,74 +15510,43 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { + "EndpointName": { "type": "string" }, - "HealthCheckProtocol": { + "ExtraJarsS3Path": { "type": "string" }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { + "ExtraPythonLibsS3Path": { "type": "string" }, - "Port": { + "NumberOfNodes": { "type": "number" }, - "Protocol": { + "PublicKey": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { + "RoleArn": { "type": "string" }, - "Targets": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "type": "string" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "SubnetId": { "type": "string" } }, "required": [ - "Port", - "Protocol", - "VpcId" + "PublicKey", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::Glue::DevEndpoint" ], "type": "string" } @@ -14682,49 +15557,7 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { - "additionalProperties": false, - "properties": { - "HttpCode": { - "type": "string" - } - }, - "required": [ - "HttpCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain": { + "AWS::Glue::Job": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14756,106 +15589,90 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessPolicies": { - "type": "object" + "AllocatedCapacity": { + "type": "number" }, - "AdvancedOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" + }, + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { "type": "object" }, - "DomainName": { + "Description": { "type": "string" }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" - }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" }, - "ElasticsearchVersion": { + "LogUri": { "type": "string" }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + "MaxRetries": { + "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Name": { + "type": "string" + }, + "Role": { + "type": "string" } }, + "required": [ + "Command", + "Role" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::Glue::Job" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Elasticsearch::Domain.EBSOptions": { + "AWS::Glue::Job.ConnectionsList": { "additionalProperties": false, "properties": { - "EBSEnabled": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "Connections": { + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "AWS::Glue::Job.ExecutionProperty": { "additionalProperties": false, "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { + "MaxConcurrentRuns": { "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" } }, "type": "object" }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { + "AWS::Glue::Job.JobCommand": { "additionalProperties": false, "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" + "Name": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" } }, "type": "object" }, - "AWS::Events::Rule": { + "AWS::Glue::Partition": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -14887,165 +15704,182 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { + "CatalogId": { "type": "string" }, - "RoleArn": { + "DatabaseName": { "type": "string" }, - "ScheduleExpression": { - "type": "string" + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" }, - "State": { + "TableName": { "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "type": "array" } }, + "required": [ + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Events::Rule" + "AWS::Glue::Partition" ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Events::Rule.EcsParameters": { + "AWS::Glue::Partition.Column": { "additionalProperties": false, "properties": { - "TaskCount": { - "type": "number" + "Comment": { + "type": "string" }, - "TaskDefinitionArn": { + "Name": { "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" }, - "InputTemplate": { + "Type": { "type": "string" } }, "required": [ - "InputTemplate" + "Name" ], "type": "object" }, - "AWS::Events::Rule.KinesisParameters": { + "AWS::Glue::Partition.Order": { "additionalProperties": false, "properties": { - "PartitionKeyPath": { + "Column": { "type": "string" + }, + "SortOrder": { + "type": "number" } }, "required": [ - "PartitionKeyPath" + "Column" ], "type": "object" }, - "AWS::Events::Rule.RunCommandParameters": { + "AWS::Glue::Partition.PartitionInput": { "additionalProperties": false, "properties": { - "RunCommandTargets": { + "Parameters": { + "type": "object" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + "type": "string" }, "type": "array" } }, "required": [ - "RunCommandTargets" + "Values" ], "type": "object" }, - "AWS::Events::Rule.RunCommandTarget": { + "AWS::Glue::Partition.SerdeInfo": { "additionalProperties": false, "properties": { - "Key": { + "Name": { "type": "string" }, - "Values": { + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "Key", - "Values" - ], "type": "object" }, - "AWS::Events::Rule.Target": { + "AWS::Glue::Partition.StorageDescriptor": { "additionalProperties": false, "properties": { - "Arn": { - "type": "string" + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" }, - "Id": { + "Compressed": { + "type": "boolean" + }, + "InputFormat": { "type": "string" }, - "Input": { + "Location": { "type": "string" }, - "InputPath": { + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { "type": "string" }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + "Parameters": { + "type": "object" }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" }, - "RoleArn": { - "type": "string" + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Arn", - "Id" - ], "type": "object" }, - "AWS::GameLift::Alias": { + "AWS::Glue::Table": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15077,25 +15911,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "CatalogId": { "type": "string" }, - "Name": { + "DatabaseName": { "type": "string" }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" } }, "required": [ - "Name", - "RoutingStrategy" + "CatalogId", + "DatabaseName", + "TableInput" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Alias" + "AWS::Glue::Table" ], "type": "string" } @@ -15106,13 +15941,13 @@ ], "type": "object" }, - "AWS::GameLift::Alias.RoutingStrategy": { + "AWS::Glue::Table.Column": { "additionalProperties": false, "properties": { - "FleetId": { + "Comment": { "type": "string" }, - "Message": { + "Name": { "type": "string" }, "Type": { @@ -15120,87 +15955,153 @@ } }, "required": [ - "Type" + "Name" ], "type": "object" }, - "AWS::GameLift::Build": { + "AWS::Glue::Table.Order": { "additionalProperties": false, "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Column": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" }, - "Metadata": { + "Parameters": { "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { "type": "object" }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::GameLift::Build.S3Location": { + "AWS::Glue::Table.TableInput": { "additionalProperties": false, "properties": { - "Bucket": { + "Description": { "type": "string" }, - "Key": { + "Name": { "type": "string" }, - "RoleArn": { + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { "type": "string" } }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], "type": "object" }, - "AWS::GameLift::Fleet": { + "AWS::Glue::Trigger": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -15232,58 +16133,37 @@ "Properties": { "additionalProperties": false, "properties": { - "BuildId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + "$ref": "#/definitions/AWS::Glue::Trigger.Action" }, "type": "array" }, - "EC2InstanceType": { + "Description": { "type": "string" }, - "LogPaths": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, "Name": { "type": "string" }, - "ServerLaunchParameters": { + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { "type": "string" }, - "ServerLaunchPath": { + "Type": { "type": "string" } }, "required": [ - "BuildId", - "DesiredEC2Instances", - "EC2InstanceType", - "Name", - "ServerLaunchPath" + "Actions", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::GameLift::Fleet" + "AWS::Glue::Trigger" ], "type": "string" } @@ -15294,28 +16174,46 @@ ], "type": "object" }, - "AWS::GameLift::Fleet.IpPermission": { + "AWS::Glue::Trigger.Action": { "additionalProperties": false, "properties": { - "FromPort": { - "type": "number" + "Arguments": { + "type": "object" }, - "IpRange": { + "JobName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "JobName": { "type": "string" }, - "Protocol": { + "LogicalOperator": { "type": "string" }, - "ToPort": { - "type": "number" + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" } }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], "type": "object" }, "AWS::IAM::AccessKey": { @@ -17764,7 +18662,6 @@ "BucketARN", "BufferingHints", "CompressionFormat", - "Prefix", "RoleARN" ], "type": "object" @@ -17812,6 +18709,9 @@ }, "Name": { "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" } }, "required": [ @@ -17834,6 +18734,37 @@ ], "type": "object" }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, "AWS::Lambda::EventSourceMapping": { "additionalProperties": false, "properties": { @@ -19091,6 +20022,12 @@ "StackId": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "Type": { "type": "string" }, @@ -19358,6 +20295,12 @@ "SourceStackId": { "type": "string" }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, "UseCustomCookbooks": { "type": "boolean" }, @@ -20407,6 +21350,9 @@ "OptionSettings": { "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" }, + "OptionVersion": { + "type": "string" + }, "Port": { "type": "number" }, @@ -22547,25 +23493,194 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "PolicyDocument": { + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association": { + "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": { + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" + } + }, + "type": "object" + }, + "ScheduleExpression": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Association" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association.ParameterValues": { + "additionalProperties": false, + "properties": { + "ParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ParameterValues" + ], + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::Document": { + "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": { + "Content": { "type": "object" }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" + "DocumentType": { + "type": "string" } }, "required": [ - "PolicyDocument", - "Queues" + "Content" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::SSM::Document" ], "type": "string" } @@ -22576,7 +23691,7 @@ ], "type": "object" }, - "AWS::SSM::Association": { + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -22608,42 +23723,62 @@ "Properties": { "additionalProperties": false, "properties": { - "DocumentVersion": { + "Description": { "type": "string" }, - "InstanceId": { + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { "type": "string" }, "Name": { "type": "string" }, - "Parameters": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSM::Association.ParameterValues" - } - }, - "type": "object" + "Priority": { + "type": "number" }, - "ScheduleExpression": { + "ServiceRoleArn": { "type": "string" }, "Targets": { "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" }, "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" } }, "required": [ - "Name" + "MaxErrors", + "Priority", + "ServiceRoleArn", + "Targets", + "TaskArn", + "TaskType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Association" + "AWS::SSM::MaintenanceWindowTask" ], "type": "string" } @@ -22654,22 +23789,116 @@ ], "type": "object" }, - "AWS::SSM::Association.ParameterValues": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "ParameterValues": { + "Region": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "type": "string" + }, + "NotificationEvents": { "items": { "type": "string" }, "type": "array" + }, + "NotificationType": { + "type": "string" } }, - "required": [ - "ParameterValues" - ], "type": "object" }, - "AWS::SSM::Association.Target": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { "Key": { @@ -22683,12 +23912,29 @@ } }, "required": [ - "Key", - "Values" + "Key" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -22720,21 +23966,31 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "type": "object" + "AllowedPattern": { + "type": "string" }, - "DocumentType": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { "type": "string" } }, "required": [ - "Content" + "Type", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Document" + "AWS::SSM::Parameter" ], "type": "string" } @@ -22745,7 +24001,7 @@ ], "type": "object" }, - "AWS::SSM::Parameter": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { "DeletionPolicy": { @@ -22777,31 +24033,51 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedPattern": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { "type": "string" }, "Description": { "type": "string" }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, "Name": { "type": "string" }, - "Type": { + "OperatingSystem": { "type": "string" }, - "Value": { - "type": "string" + "PatchGroups": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchGroup" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Type", - "Value" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Parameter" + "AWS::SSM::PatchBaseline" ], "type": "string" } @@ -22812,6 +24088,65 @@ ], "type": "object" }, + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SSM::PatchBaseline.Rule": { + "additionalProperties": false, + "properties": { + "ApproveAfterDays": { + "type": "number" + }, + "ComplianceLevel": { + "type": "string" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Serverless::Api": { "additionalProperties": false, "properties": { @@ -25187,6 +26522,9 @@ { "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" }, + { + "$ref": "#/definitions/AWS::Athena::NamedQuery" + }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -25226,9 +26564,6 @@ { "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" }, - { - "$ref": "#/definitions/AWS::CloudFront::Distribution" - }, { "$ref": "#/definitions/AWS::CloudTrail::Trail" }, @@ -25541,6 +26876,33 @@ { "$ref": "#/definitions/AWS::GameLift::Fleet" }, + { + "$ref": "#/definitions/AWS::Glue::Classifier" + }, + { + "$ref": "#/definitions/AWS::Glue::Connection" + }, + { + "$ref": "#/definitions/AWS::Glue::Crawler" + }, + { + "$ref": "#/definitions/AWS::Glue::Database" + }, + { + "$ref": "#/definitions/AWS::Glue::DevEndpoint" + }, + { + "$ref": "#/definitions/AWS::Glue::Job" + }, + { + "$ref": "#/definitions/AWS::Glue::Partition" + }, + { + "$ref": "#/definitions/AWS::Glue::Table" + }, + { + "$ref": "#/definitions/AWS::Glue::Trigger" + }, { "$ref": "#/definitions/AWS::IAM::AccessKey" }, @@ -25739,9 +27101,15 @@ { "$ref": "#/definitions/AWS::SSM::Document" }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" + }, { "$ref": "#/definitions/AWS::SSM::Parameter" }, + { + "$ref": "#/definitions/AWS::SSM::PatchBaseline" + }, { "$ref": "#/definitions/AWS::Serverless::Api" },