From 68156bc8aecb5ef63e6b9c2c597913d6d156e2cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BAben=20Fonseca?= Date: Fri, 8 Apr 2022 00:11:19 +0000 Subject: [PATCH] fix(schema): CloudFormation Updates --- cloudformation/all.go | 101 +++ .../batch/aws-batch-computeenvironment.go | 10 + ...tch-computeenvironment_computeresources.go | 5 + ...s-batch-computeenvironment_updatepolicy.go | 42 + .../aws-datasync-locationfsxopenzfs.go | 140 ++++ ...atasync-locationfsxopenzfs_mountoptions.go | 37 + .../aws-datasync-locationfsxopenzfs_nfs.go | 37 + ...ws-datasync-locationfsxopenzfs_protocol.go | 37 + .../dms/aws-dms-endpoint_docdbsettings.go | 15 + .../dms/aws-dms-endpoint_ibmdb2settings.go | 15 + ...dms-endpoint_microsoftsqlserversettings.go | 35 + .../dms/aws-dms-endpoint_redshiftsettings.go | 115 +++ ...s-ec2-launchtemplate_launchtemplatedata.go | 5 + ...s-ec2-launchtemplate_maintenanceoptions.go | 37 + .../ec2/aws-ec2-trafficmirrortarget.go | 5 + .../lambda/aws-lambda-permission.go | 5 + cloudformation/lambda/aws-lambda-url.go | 134 ++++ cloudformation/lambda/aws-lambda-url_cors.go | 62 ++ .../aws-mediatailor-playbackconfiguration.go | 190 +++++ ...aybackconfiguration_admarkerpassthrough.go | 37 + ...-playbackconfiguration_availsuppression.go | 42 + ...ediatailor-playbackconfiguration_bumper.go | 42 + ...-playbackconfiguration_cdnconfiguration.go | 42 + ...ckconfiguration_dashconfigurationforput.go | 42 + ...kconfiguration_liveprerollconfiguration.go | 42 + ...ckconfiguration_manifestprocessingrules.go | 37 + schema/cdk.go | 730 ++++++++++++++++++ schema/cdk.schema.json | 730 ++++++++++++++++++ schema/cloudformation.go | 730 ++++++++++++++++++ schema/cloudformation.schema.json | 730 ++++++++++++++++++ schema/sam.go | 730 ++++++++++++++++++ schema/sam.schema.json | 730 ++++++++++++++++++ 32 files changed, 5691 insertions(+) create mode 100644 cloudformation/batch/aws-batch-computeenvironment_updatepolicy.go create mode 100644 cloudformation/datasync/aws-datasync-locationfsxopenzfs.go create mode 100644 cloudformation/datasync/aws-datasync-locationfsxopenzfs_mountoptions.go create mode 100644 cloudformation/datasync/aws-datasync-locationfsxopenzfs_nfs.go create mode 100644 cloudformation/datasync/aws-datasync-locationfsxopenzfs_protocol.go create mode 100644 cloudformation/ec2/aws-ec2-launchtemplate_maintenanceoptions.go create mode 100644 cloudformation/lambda/aws-lambda-url.go create mode 100644 cloudformation/lambda/aws-lambda-url_cors.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_admarkerpassthrough.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_availsuppression.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_bumper.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_cdnconfiguration.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_dashconfigurationforput.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_liveprerollconfiguration.go create mode 100644 cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_manifestprocessingrules.go diff --git a/cloudformation/all.go b/cloudformation/all.go index 739f0fd874..8721719e44 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -134,6 +134,7 @@ import ( "github.com/awslabs/goformation/v6/cloudformation/medialive" "github.com/awslabs/goformation/v6/cloudformation/mediapackage" "github.com/awslabs/goformation/v6/cloudformation/mediastore" + "github.com/awslabs/goformation/v6/cloudformation/mediatailor" "github.com/awslabs/goformation/v6/cloudformation/memorydb" "github.com/awslabs/goformation/v6/cloudformation/msk" "github.com/awslabs/goformation/v6/cloudformation/mwaa" @@ -428,6 +429,7 @@ func AllResources() map[string]Resource { "AWS::DataSync::Agent": &datasync.Agent{}, "AWS::DataSync::LocationEFS": &datasync.LocationEFS{}, "AWS::DataSync::LocationFSxLustre": &datasync.LocationFSxLustre{}, + "AWS::DataSync::LocationFSxOpenZFS": &datasync.LocationFSxOpenZFS{}, "AWS::DataSync::LocationFSxWindows": &datasync.LocationFSxWindows{}, "AWS::DataSync::LocationHDFS": &datasync.LocationHDFS{}, "AWS::DataSync::LocationNFS": &datasync.LocationNFS{}, @@ -582,6 +584,7 @@ func AllResources() map[string]Resource { "AWS::Events::ApiDestination": &events.ApiDestination{}, "AWS::Events::Archive": &events.Archive{}, "AWS::Events::Connection": &events.Connection{}, + "AWS::Events::Endpoint": &events.Endpoint{}, "AWS::Events::EventBus": &events.EventBus{}, "AWS::Events::EventBusPolicy": &events.EventBusPolicy{}, "AWS::Events::Rule": &events.Rule{}, @@ -767,6 +770,7 @@ func AllResources() map[string]Resource { "AWS::Lambda::LayerVersion": &lambda.LayerVersion{}, "AWS::Lambda::LayerVersionPermission": &lambda.LayerVersionPermission{}, "AWS::Lambda::Permission": &lambda.Permission{}, + "AWS::Lambda::Url": &lambda.Url{}, "AWS::Lambda::Version": &lambda.Version{}, "AWS::Lex::Bot": &lex.Bot{}, "AWS::Lex::BotAlias": &lex.BotAlias{}, @@ -828,6 +832,7 @@ func AllResources() map[string]Resource { "AWS::MediaPackage::PackagingConfiguration": &mediapackage.PackagingConfiguration{}, "AWS::MediaPackage::PackagingGroup": &mediapackage.PackagingGroup{}, "AWS::MediaStore::Container": &mediastore.Container{}, + "AWS::MediaTailor::PlaybackConfiguration": &mediatailor.PlaybackConfiguration{}, "AWS::MemoryDB::ACL": &memorydb.ACL{}, "AWS::MemoryDB::Cluster": &memorydb.Cluster{}, "AWS::MemoryDB::ParameterGroup": &memorydb.ParameterGroup{}, @@ -6610,6 +6615,30 @@ func (t *Template) GetDataSyncLocationFSxLustreWithName(name string) (*datasync. return nil, fmt.Errorf("resource %q of type datasync.LocationFSxLustre not found", name) } +// GetAllDataSyncLocationFSxOpenZFSResources retrieves all datasync.LocationFSxOpenZFS items from an AWS CloudFormation template +func (t *Template) GetAllDataSyncLocationFSxOpenZFSResources() map[string]*datasync.LocationFSxOpenZFS { + results := map[string]*datasync.LocationFSxOpenZFS{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *datasync.LocationFSxOpenZFS: + results[name] = resource + } + } + return results +} + +// GetDataSyncLocationFSxOpenZFSWithName retrieves all datasync.LocationFSxOpenZFS items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetDataSyncLocationFSxOpenZFSWithName(name string) (*datasync.LocationFSxOpenZFS, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *datasync.LocationFSxOpenZFS: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type datasync.LocationFSxOpenZFS not found", name) +} + // GetAllDataSyncLocationFSxWindowsResources retrieves all datasync.LocationFSxWindows items from an AWS CloudFormation template func (t *Template) GetAllDataSyncLocationFSxWindowsResources() map[string]*datasync.LocationFSxWindows { results := map[string]*datasync.LocationFSxWindows{} @@ -10306,6 +10335,30 @@ func (t *Template) GetEventsConnectionWithName(name string) (*events.Connection, return nil, fmt.Errorf("resource %q of type events.Connection not found", name) } +// GetAllEventsEndpointResources retrieves all events.Endpoint items from an AWS CloudFormation template +func (t *Template) GetAllEventsEndpointResources() map[string]*events.Endpoint { + results := map[string]*events.Endpoint{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *events.Endpoint: + results[name] = resource + } + } + return results +} + +// GetEventsEndpointWithName retrieves all events.Endpoint items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEventsEndpointWithName(name string) (*events.Endpoint, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *events.Endpoint: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type events.Endpoint not found", name) +} + // GetAllEventsEventBusResources retrieves all events.EventBus items from an AWS CloudFormation template func (t *Template) GetAllEventsEventBusResources() map[string]*events.EventBus { results := map[string]*events.EventBus{} @@ -14746,6 +14799,30 @@ func (t *Template) GetLambdaPermissionWithName(name string) (*lambda.Permission, return nil, fmt.Errorf("resource %q of type lambda.Permission not found", name) } +// GetAllLambdaUrlResources retrieves all lambda.Url items from an AWS CloudFormation template +func (t *Template) GetAllLambdaUrlResources() map[string]*lambda.Url { + results := map[string]*lambda.Url{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *lambda.Url: + results[name] = resource + } + } + return results +} + +// GetLambdaUrlWithName retrieves all lambda.Url items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLambdaUrlWithName(name string) (*lambda.Url, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *lambda.Url: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type lambda.Url not found", name) +} + // GetAllLambdaVersionResources retrieves all lambda.Version items from an AWS CloudFormation template func (t *Template) GetAllLambdaVersionResources() map[string]*lambda.Version { results := map[string]*lambda.Version{} @@ -16210,6 +16287,30 @@ func (t *Template) GetMediaStoreContainerWithName(name string) (*mediastore.Cont return nil, fmt.Errorf("resource %q of type mediastore.Container not found", name) } +// GetAllMediaTailorPlaybackConfigurationResources retrieves all mediatailor.PlaybackConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllMediaTailorPlaybackConfigurationResources() map[string]*mediatailor.PlaybackConfiguration { + results := map[string]*mediatailor.PlaybackConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *mediatailor.PlaybackConfiguration: + results[name] = resource + } + } + return results +} + +// GetMediaTailorPlaybackConfigurationWithName retrieves all mediatailor.PlaybackConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetMediaTailorPlaybackConfigurationWithName(name string) (*mediatailor.PlaybackConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *mediatailor.PlaybackConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type mediatailor.PlaybackConfiguration not found", name) +} + // GetAllMemoryDBACLResources retrieves all memorydb.ACL items from an AWS CloudFormation template func (t *Template) GetAllMemoryDBACLResources() map[string]*memorydb.ACL { results := map[string]*memorydb.ACL{} diff --git a/cloudformation/batch/aws-batch-computeenvironment.go b/cloudformation/batch/aws-batch-computeenvironment.go index f16456d77c..d7806b8480 100644 --- a/cloudformation/batch/aws-batch-computeenvironment.go +++ b/cloudformation/batch/aws-batch-computeenvironment.go @@ -24,6 +24,11 @@ type ComputeEnvironment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-computeresources ComputeResources *ComputeEnvironment_ComputeResources `json:"ComputeResources,omitempty"` + // ReplaceComputeEnvironment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-replacecomputeenvironment + ReplaceComputeEnvironment *bool `json:"ReplaceComputeEnvironment,omitempty"` + // ServiceRole AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-servicerole @@ -49,6 +54,11 @@ type ComputeEnvironment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-unmanagedvcpus UnmanagedvCpus *int `json:"UnmanagedvCpus,omitempty"` + // UpdatePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-updatepolicy + UpdatePolicy *ComputeEnvironment_UpdatePolicy `json:"UpdatePolicy,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/batch/aws-batch-computeenvironment_computeresources.go b/cloudformation/batch/aws-batch-computeenvironment_computeresources.go index b109c5158c..c400ba4585 100644 --- a/cloudformation/batch/aws-batch-computeenvironment_computeresources.go +++ b/cloudformation/batch/aws-batch-computeenvironment_computeresources.go @@ -95,6 +95,11 @@ type ComputeEnvironment_ComputeResources struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-type Type string `json:"Type"` + // UpdateToLatestImageVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-updatetolatestimageversion + UpdateToLatestImageVersion *bool `json:"UpdateToLatestImageVersion,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/batch/aws-batch-computeenvironment_updatepolicy.go b/cloudformation/batch/aws-batch-computeenvironment_updatepolicy.go new file mode 100644 index 0000000000..3e80860b28 --- /dev/null +++ b/cloudformation/batch/aws-batch-computeenvironment_updatepolicy.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package batch + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// ComputeEnvironment_UpdatePolicy AWS CloudFormation Resource (AWS::Batch::ComputeEnvironment.UpdatePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-updatepolicy.html +type ComputeEnvironment_UpdatePolicy struct { + + // JobExecutionTimeoutMinutes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-updatepolicy.html#cfn-batch-computeenvironment-updatepolicy-jobexecutiontimeoutminutes + JobExecutionTimeoutMinutes *int `json:"JobExecutionTimeoutMinutes,omitempty"` + + // TerminateJobsOnUpdate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-updatepolicy.html#cfn-batch-computeenvironment-updatepolicy-terminatejobsonupdate + TerminateJobsOnUpdate *bool `json:"TerminateJobsOnUpdate,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ComputeEnvironment_UpdatePolicy) AWSCloudFormationType() string { + return "AWS::Batch::ComputeEnvironment.UpdatePolicy" +} diff --git a/cloudformation/datasync/aws-datasync-locationfsxopenzfs.go b/cloudformation/datasync/aws-datasync-locationfsxopenzfs.go new file mode 100644 index 0000000000..3ce97298e9 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationfsxopenzfs.go @@ -0,0 +1,140 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v6/cloudformation/policies" + "github.com/awslabs/goformation/v6/cloudformation/tags" +) + +// LocationFSxOpenZFS AWS CloudFormation Resource (AWS::DataSync::LocationFSxOpenZFS) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html +type LocationFSxOpenZFS struct { + + // FsxFilesystemArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html#cfn-datasync-locationfsxopenzfs-fsxfilesystemarn + FsxFilesystemArn string `json:"FsxFilesystemArn"` + + // Protocol AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html#cfn-datasync-locationfsxopenzfs-protocol + Protocol *LocationFSxOpenZFS_Protocol `json:"Protocol"` + + // SecurityGroupArns AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html#cfn-datasync-locationfsxopenzfs-securitygrouparns + SecurityGroupArns []string `json:"SecurityGroupArns"` + + // Subdirectory AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html#cfn-datasync-locationfsxopenzfs-subdirectory + Subdirectory *string `json:"Subdirectory,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html#cfn-datasync-locationfsxopenzfs-tags + Tags *[]tags.Tag `json:"Tags,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationFSxOpenZFS) AWSCloudFormationType() string { + return "AWS::DataSync::LocationFSxOpenZFS" +} + +// 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 LocationFSxOpenZFS) MarshalJSON() ([]byte, error) { + type Properties LocationFSxOpenZFS + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *LocationFSxOpenZFS) UnmarshalJSON(b []byte) error { + type Properties LocationFSxOpenZFS + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = LocationFSxOpenZFS(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/datasync/aws-datasync-locationfsxopenzfs_mountoptions.go b/cloudformation/datasync/aws-datasync-locationfsxopenzfs_mountoptions.go new file mode 100644 index 0000000000..f3068585eb --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationfsxopenzfs_mountoptions.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// LocationFSxOpenZFS_MountOptions AWS CloudFormation Resource (AWS::DataSync::LocationFSxOpenZFS.MountOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-mountoptions.html +type LocationFSxOpenZFS_MountOptions struct { + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-mountoptions.html#cfn-datasync-locationfsxopenzfs-mountoptions-version + Version *string `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationFSxOpenZFS_MountOptions) AWSCloudFormationType() string { + return "AWS::DataSync::LocationFSxOpenZFS.MountOptions" +} diff --git a/cloudformation/datasync/aws-datasync-locationfsxopenzfs_nfs.go b/cloudformation/datasync/aws-datasync-locationfsxopenzfs_nfs.go new file mode 100644 index 0000000000..60a5e6171d --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationfsxopenzfs_nfs.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// LocationFSxOpenZFS_NFS AWS CloudFormation Resource (AWS::DataSync::LocationFSxOpenZFS.NFS) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-nfs.html +type LocationFSxOpenZFS_NFS struct { + + // MountOptions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-nfs.html#cfn-datasync-locationfsxopenzfs-nfs-mountoptions + MountOptions *LocationFSxOpenZFS_MountOptions `json:"MountOptions"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationFSxOpenZFS_NFS) AWSCloudFormationType() string { + return "AWS::DataSync::LocationFSxOpenZFS.NFS" +} diff --git a/cloudformation/datasync/aws-datasync-locationfsxopenzfs_protocol.go b/cloudformation/datasync/aws-datasync-locationfsxopenzfs_protocol.go new file mode 100644 index 0000000000..98e4e11395 --- /dev/null +++ b/cloudformation/datasync/aws-datasync-locationfsxopenzfs_protocol.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package datasync + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// LocationFSxOpenZFS_Protocol AWS CloudFormation Resource (AWS::DataSync::LocationFSxOpenZFS.Protocol) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-protocol.html +type LocationFSxOpenZFS_Protocol struct { + + // NFS AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-protocol.html#cfn-datasync-locationfsxopenzfs-protocol-nfs + NFS *LocationFSxOpenZFS_NFS `json:"NFS,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LocationFSxOpenZFS_Protocol) AWSCloudFormationType() string { + return "AWS::DataSync::LocationFSxOpenZFS.Protocol" +} diff --git a/cloudformation/dms/aws-dms-endpoint_docdbsettings.go b/cloudformation/dms/aws-dms-endpoint_docdbsettings.go index 25552445ae..8a87ff7034 100644 --- a/cloudformation/dms/aws-dms-endpoint_docdbsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_docdbsettings.go @@ -10,6 +10,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html type Endpoint_DocDbSettings struct { + // DocsToInvestigate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html#cfn-dms-endpoint-docdbsettings-docstoinvestigate + DocsToInvestigate *int `json:"DocsToInvestigate,omitempty"` + + // ExtractDocId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html#cfn-dms-endpoint-docdbsettings-extractdocid + ExtractDocId *bool `json:"ExtractDocId,omitempty"` + + // NestingLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html#cfn-dms-endpoint-docdbsettings-nestinglevel + NestingLevel *string `json:"NestingLevel,omitempty"` + // SecretsManagerAccessRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-docdbsettings.html#cfn-dms-endpoint-docdbsettings-secretsmanageraccessrolearn diff --git a/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go b/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go index 50791258e1..524717044e 100644 --- a/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go +++ b/cloudformation/dms/aws-dms-endpoint_ibmdb2settings.go @@ -10,6 +10,16 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html type Endpoint_IbmDb2Settings struct { + // CurrentLsn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-currentlsn + CurrentLsn *string `json:"CurrentLsn,omitempty"` + + // MaxKBytesPerRead AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-maxkbytesperread + MaxKBytesPerRead *int `json:"MaxKBytesPerRead,omitempty"` + // SecretsManagerAccessRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-secretsmanageraccessrolearn @@ -20,6 +30,11 @@ type Endpoint_IbmDb2Settings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-secretsmanagersecretid SecretsManagerSecretId *string `json:"SecretsManagerSecretId,omitempty"` + // SetDataCaptureChanges AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-ibmdb2settings.html#cfn-dms-endpoint-ibmdb2settings-setdatacapturechanges + SetDataCaptureChanges *bool `json:"SetDataCaptureChanges,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go b/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go index 497098935b..d306130370 100644 --- a/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go +++ b/cloudformation/dms/aws-dms-endpoint_microsoftsqlserversettings.go @@ -10,6 +10,31 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html type Endpoint_MicrosoftSqlServerSettings struct { + // BcpPacketSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-bcppacketsize + BcpPacketSize *int `json:"BcpPacketSize,omitempty"` + + // ControlTablesFileGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-controltablesfilegroup + ControlTablesFileGroup *string `json:"ControlTablesFileGroup,omitempty"` + + // QuerySingleAlwaysOnNode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-querysinglealwaysonnode + QuerySingleAlwaysOnNode *bool `json:"QuerySingleAlwaysOnNode,omitempty"` + + // ReadBackupOnly AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-readbackuponly + ReadBackupOnly *bool `json:"ReadBackupOnly,omitempty"` + + // SafeguardPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-safeguardpolicy + SafeguardPolicy *string `json:"SafeguardPolicy,omitempty"` + // SecretsManagerAccessRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-secretsmanageraccessrolearn @@ -20,6 +45,16 @@ type Endpoint_MicrosoftSqlServerSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-secretsmanagersecretid SecretsManagerSecretId *string `json:"SecretsManagerSecretId,omitempty"` + // UseBcpFullLoad AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-usebcpfullload + UseBcpFullLoad *bool `json:"UseBcpFullLoad,omitempty"` + + // UseThirdPartyBackupDevice AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-microsoftsqlserversettings.html#cfn-dms-endpoint-microsoftsqlserversettings-usethirdpartybackupdevice + UseThirdPartyBackupDevice *bool `json:"UseThirdPartyBackupDevice,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go b/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go index c4c58ec444..de384de3d0 100644 --- a/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go @@ -10,6 +10,91 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html type Endpoint_RedshiftSettings struct { + // AcceptAnyDate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-acceptanydate + AcceptAnyDate *bool `json:"AcceptAnyDate,omitempty"` + + // AfterConnectScript AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-afterconnectscript + AfterConnectScript *string `json:"AfterConnectScript,omitempty"` + + // BucketFolder AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-bucketfolder + BucketFolder *string `json:"BucketFolder,omitempty"` + + // BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-bucketname + BucketName *string `json:"BucketName,omitempty"` + + // CaseSensitiveNames AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-casesensitivenames + CaseSensitiveNames *bool `json:"CaseSensitiveNames,omitempty"` + + // CompUpdate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-compupdate + CompUpdate *bool `json:"CompUpdate,omitempty"` + + // ConnectionTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-connectiontimeout + ConnectionTimeout *int `json:"ConnectionTimeout,omitempty"` + + // DateFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-dateformat + DateFormat *string `json:"DateFormat,omitempty"` + + // EmptyAsNull AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-emptyasnull + EmptyAsNull *bool `json:"EmptyAsNull,omitempty"` + + // EncryptionMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-encryptionmode + EncryptionMode *string `json:"EncryptionMode,omitempty"` + + // ExplicitIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-explicitids + ExplicitIds *bool `json:"ExplicitIds,omitempty"` + + // FileTransferUploadStreams AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-filetransferuploadstreams + FileTransferUploadStreams *int `json:"FileTransferUploadStreams,omitempty"` + + // LoadTimeout AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-loadtimeout + LoadTimeout *int `json:"LoadTimeout,omitempty"` + + // MaxFileSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-maxfilesize + MaxFileSize *int `json:"MaxFileSize,omitempty"` + + // RemoveQuotes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-removequotes + RemoveQuotes *bool `json:"RemoveQuotes,omitempty"` + + // ReplaceChars AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-replacechars + ReplaceChars *string `json:"ReplaceChars,omitempty"` + + // ReplaceInvalidChars AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-replaceinvalidchars + ReplaceInvalidChars *string `json:"ReplaceInvalidChars,omitempty"` + // SecretsManagerAccessRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-secretsmanageraccessrolearn @@ -20,6 +105,36 @@ type Endpoint_RedshiftSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-secretsmanagersecretid SecretsManagerSecretId *string `json:"SecretsManagerSecretId,omitempty"` + // ServerSideEncryptionKmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-serversideencryptionkmskeyid + ServerSideEncryptionKmsKeyId *string `json:"ServerSideEncryptionKmsKeyId,omitempty"` + + // ServiceAccessRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-serviceaccessrolearn + ServiceAccessRoleArn *string `json:"ServiceAccessRoleArn,omitempty"` + + // TimeFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-timeformat + TimeFormat *string `json:"TimeFormat,omitempty"` + + // TrimBlanks AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-trimblanks + TrimBlanks *bool `json:"TrimBlanks,omitempty"` + + // TruncateColumns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-truncatecolumns + TruncateColumns *bool `json:"TruncateColumns,omitempty"` + + // WriteBufferSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-writebuffersize + WriteBufferSize *int `json:"WriteBufferSize,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go index 0944516cc2..6c6af48beb 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_launchtemplatedata.go @@ -105,6 +105,11 @@ type LaunchTemplate_LaunchTemplateData struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-licensespecifications LicenseSpecifications *[]LaunchTemplate_LicenseSpecification `json:"LicenseSpecifications,omitempty"` + // MaintenanceOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-maintenanceoptions + MaintenanceOptions *LaunchTemplate_MaintenanceOptions `json:"MaintenanceOptions,omitempty"` + // MetadataOptions AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_maintenanceoptions.go b/cloudformation/ec2/aws-ec2-launchtemplate_maintenanceoptions.go new file mode 100644 index 0000000000..410ef049a2 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-launchtemplate_maintenanceoptions.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ec2 + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// LaunchTemplate_MaintenanceOptions AWS CloudFormation Resource (AWS::EC2::LaunchTemplate.MaintenanceOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-maintenanceoptions.html +type LaunchTemplate_MaintenanceOptions struct { + + // AutoRecovery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-maintenanceoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-maintenanceoptions-autorecovery + AutoRecovery *string `json:"AutoRecovery,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LaunchTemplate_MaintenanceOptions) AWSCloudFormationType() string { + return "AWS::EC2::LaunchTemplate.MaintenanceOptions" +} diff --git a/cloudformation/ec2/aws-ec2-trafficmirrortarget.go b/cloudformation/ec2/aws-ec2-trafficmirrortarget.go index a4b4a30d21..61092fd1d6 100644 --- a/cloudformation/ec2/aws-ec2-trafficmirrortarget.go +++ b/cloudformation/ec2/aws-ec2-trafficmirrortarget.go @@ -20,6 +20,11 @@ type TrafficMirrorTarget struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-description Description *string `json:"Description,omitempty"` + // GatewayLoadBalancerEndpointId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-gatewayloadbalancerendpointid + GatewayLoadBalancerEndpointId *string `json:"GatewayLoadBalancerEndpointId,omitempty"` + // NetworkInterfaceId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkinterfaceid diff --git a/cloudformation/lambda/aws-lambda-permission.go b/cloudformation/lambda/aws-lambda-permission.go index 67bf6494bd..6e79837077 100644 --- a/cloudformation/lambda/aws-lambda-permission.go +++ b/cloudformation/lambda/aws-lambda-permission.go @@ -29,6 +29,11 @@ type Permission struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-functionname FunctionName string `json:"FunctionName"` + // FunctionUrlAuthType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-functionurlauthtype + FunctionUrlAuthType *string `json:"FunctionUrlAuthType,omitempty"` + // Principal AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-principal diff --git a/cloudformation/lambda/aws-lambda-url.go b/cloudformation/lambda/aws-lambda-url.go new file mode 100644 index 0000000000..74d46bcad1 --- /dev/null +++ b/cloudformation/lambda/aws-lambda-url.go @@ -0,0 +1,134 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lambda + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// Url AWS CloudFormation Resource (AWS::Lambda::Url) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html +type Url struct { + + // AuthType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-authtype + AuthType string `json:"AuthType"` + + // Cors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-cors + Cors *Url_Cors `json:"Cors,omitempty"` + + // Qualifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-qualifier + Qualifier *string `json:"Qualifier,omitempty"` + + // TargetFunctionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-targetfunctionarn + TargetFunctionArn string `json:"TargetFunctionArn"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Url) AWSCloudFormationType() string { + return "AWS::Lambda::Url" +} + +// 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 Url) MarshalJSON() ([]byte, error) { + type Properties Url + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *Url) UnmarshalJSON(b []byte) error { + type Properties Url + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Url(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/lambda/aws-lambda-url_cors.go b/cloudformation/lambda/aws-lambda-url_cors.go new file mode 100644 index 0000000000..dd86d31127 --- /dev/null +++ b/cloudformation/lambda/aws-lambda-url_cors.go @@ -0,0 +1,62 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lambda + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// Url_Cors AWS CloudFormation Resource (AWS::Lambda::Url.Cors) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html +type Url_Cors struct { + + // AllowCredentials AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html#cfn-lambda-url-cors-allowcredentials + AllowCredentials *bool `json:"AllowCredentials,omitempty"` + + // AllowHeaders AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html#cfn-lambda-url-cors-allowheaders + AllowHeaders *[]string `json:"AllowHeaders,omitempty"` + + // AllowMethods AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html#cfn-lambda-url-cors-allowmethods + AllowMethods *[]string `json:"AllowMethods,omitempty"` + + // AllowOrigins AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html#cfn-lambda-url-cors-alloworigins + AllowOrigins *[]string `json:"AllowOrigins,omitempty"` + + // ExposeHeaders AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html#cfn-lambda-url-cors-exposeheaders + ExposeHeaders *[]string `json:"ExposeHeaders,omitempty"` + + // MaxAge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html#cfn-lambda-url-cors-maxage + MaxAge *int `json:"MaxAge,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Url_Cors) AWSCloudFormationType() string { + return "AWS::Lambda::Url.Cors" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration.go new file mode 100644 index 0000000000..28c8976d96 --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration.go @@ -0,0 +1,190 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "bytes" + "encoding/json" + "fmt" + + "github.com/awslabs/goformation/v6/cloudformation/policies" + "github.com/awslabs/goformation/v6/cloudformation/tags" +) + +// PlaybackConfiguration AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html +type PlaybackConfiguration struct { + + // AdDecisionServerUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-addecisionserverurl + AdDecisionServerUrl string `json:"AdDecisionServerUrl"` + + // AvailSuppression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-availsuppression + AvailSuppression *PlaybackConfiguration_AvailSuppression `json:"AvailSuppression,omitempty"` + + // Bumper AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-bumper + Bumper *PlaybackConfiguration_Bumper `json:"Bumper,omitempty"` + + // CdnConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration + CdnConfiguration *PlaybackConfiguration_CdnConfiguration `json:"CdnConfiguration,omitempty"` + + // ConfigurationAliases AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-configurationaliases + ConfigurationAliases *map[string]interface{} `json:"ConfigurationAliases,omitempty"` + + // DashConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-dashconfiguration + DashConfiguration *PlaybackConfiguration_DashConfigurationForPut `json:"DashConfiguration,omitempty"` + + // LivePreRollConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration + LivePreRollConfiguration *PlaybackConfiguration_LivePreRollConfiguration `json:"LivePreRollConfiguration,omitempty"` + + // ManifestProcessingRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules + ManifestProcessingRules *PlaybackConfiguration_ManifestProcessingRules `json:"ManifestProcessingRules,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-name + Name string `json:"Name"` + + // PersonalizationThresholdSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-personalizationthresholdseconds + PersonalizationThresholdSeconds *int `json:"PersonalizationThresholdSeconds,omitempty"` + + // SessionInitializationEndpointPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-sessioninitializationendpointprefix + SessionInitializationEndpointPrefix *string `json:"SessionInitializationEndpointPrefix,omitempty"` + + // SlateAdUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-slateadurl + SlateAdUrl *string `json:"SlateAdUrl,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-tags + Tags *[]tags.Tag `json:"Tags,omitempty"` + + // TranscodeProfileName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-transcodeprofilename + TranscodeProfileName *string `json:"TranscodeProfileName,omitempty"` + + // VideoContentSourceUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html#cfn-mediatailor-playbackconfiguration-videocontentsourceurl + VideoContentSourceUrl string `json:"VideoContentSourceUrl"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration" +} + +// 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 PlaybackConfiguration) MarshalJSON() ([]byte, error) { + type Properties PlaybackConfiguration + return json.Marshal(&struct { + Type string + Properties Properties + DependsOn []string `json:"DependsOn,omitempty"` + Metadata map[string]interface{} `json:"Metadata,omitempty"` + DeletionPolicy policies.DeletionPolicy `json:"DeletionPolicy,omitempty"` + UpdateReplacePolicy policies.UpdateReplacePolicy `json:"UpdateReplacePolicy,omitempty"` + Condition string `json:"Condition,omitempty"` + }{ + Type: r.AWSCloudFormationType(), + Properties: (Properties)(r), + DependsOn: r.AWSCloudFormationDependsOn, + Metadata: r.AWSCloudFormationMetadata, + DeletionPolicy: r.AWSCloudFormationDeletionPolicy, + UpdateReplacePolicy: r.AWSCloudFormationUpdateReplacePolicy, + Condition: r.AWSCloudFormationCondition, + }) +} + +// UnmarshalJSON is a custom JSON unmarshalling hook that strips the outer +// AWS CloudFormation resource object, and just keeps the 'Properties' field. +func (r *PlaybackConfiguration) UnmarshalJSON(b []byte) error { + type Properties PlaybackConfiguration + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + fmt.Printf("ERROR: %s\n", err) + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = PlaybackConfiguration(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_admarkerpassthrough.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_admarkerpassthrough.go new file mode 100644 index 0000000000..191306445e --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_admarkerpassthrough.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_AdMarkerPassthrough AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html +type PlaybackConfiguration_AdMarkerPassthrough struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-admarkerpassthrough.html#cfn-mediatailor-playbackconfiguration-admarkerpassthrough-enabled + Enabled *bool `json:"Enabled,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_AdMarkerPassthrough) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_availsuppression.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_availsuppression.go new file mode 100644 index 0000000000..a85fd37850 --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_availsuppression.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_AvailSuppression AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.AvailSuppression) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html +type PlaybackConfiguration_AvailSuppression struct { + + // Mode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-mode + Mode *string `json:"Mode,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-availsuppression.html#cfn-mediatailor-playbackconfiguration-availsuppression-value + Value *string `json:"Value,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_AvailSuppression) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_bumper.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_bumper.go new file mode 100644 index 0000000000..6fda6135d0 --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_bumper.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_Bumper AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.Bumper) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html +type PlaybackConfiguration_Bumper struct { + + // EndUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-endurl + EndUrl *string `json:"EndUrl,omitempty"` + + // StartUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-bumper.html#cfn-mediatailor-playbackconfiguration-bumper-starturl + StartUrl *string `json:"StartUrl,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_Bumper) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.Bumper" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_cdnconfiguration.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_cdnconfiguration.go new file mode 100644 index 0000000000..1f8a3c3c24 --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_cdnconfiguration.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_CdnConfiguration AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html +type PlaybackConfiguration_CdnConfiguration struct { + + // AdSegmentUrlPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-adsegmenturlprefix + AdSegmentUrlPrefix *string `json:"AdSegmentUrlPrefix,omitempty"` + + // ContentSegmentUrlPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-cdnconfiguration.html#cfn-mediatailor-playbackconfiguration-cdnconfiguration-contentsegmenturlprefix + ContentSegmentUrlPrefix *string `json:"ContentSegmentUrlPrefix,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_CdnConfiguration) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_dashconfigurationforput.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_dashconfigurationforput.go new file mode 100644 index 0000000000..1b6fdafe45 --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_dashconfigurationforput.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_DashConfigurationForPut AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfigurationforput.html +type PlaybackConfiguration_DashConfigurationForPut struct { + + // MpdLocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfigurationforput.html#cfn-mediatailor-playbackconfiguration-dashconfigurationforput-mpdlocation + MpdLocation *string `json:"MpdLocation,omitempty"` + + // OriginManifestType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-dashconfigurationforput.html#cfn-mediatailor-playbackconfiguration-dashconfigurationforput-originmanifesttype + OriginManifestType *string `json:"OriginManifestType,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_DashConfigurationForPut) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_liveprerollconfiguration.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_liveprerollconfiguration.go new file mode 100644 index 0000000000..d4eb117733 --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_liveprerollconfiguration.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_LivePreRollConfiguration AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html +type PlaybackConfiguration_LivePreRollConfiguration struct { + + // AdDecisionServerUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-addecisionserverurl + AdDecisionServerUrl *string `json:"AdDecisionServerUrl,omitempty"` + + // MaxDurationSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-liveprerollconfiguration.html#cfn-mediatailor-playbackconfiguration-liveprerollconfiguration-maxdurationseconds + MaxDurationSeconds *int `json:"MaxDurationSeconds,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_LivePreRollConfiguration) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" +} diff --git a/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_manifestprocessingrules.go b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_manifestprocessingrules.go new file mode 100644 index 0000000000..fb5380360c --- /dev/null +++ b/cloudformation/mediatailor/aws-mediatailor-playbackconfiguration_manifestprocessingrules.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package mediatailor + +import ( + "github.com/awslabs/goformation/v6/cloudformation/policies" +) + +// PlaybackConfiguration_ManifestProcessingRules AWS CloudFormation Resource (AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html +type PlaybackConfiguration_ManifestProcessingRules struct { + + // AdMarkerPassthrough AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediatailor-playbackconfiguration-manifestprocessingrules.html#cfn-mediatailor-playbackconfiguration-manifestprocessingrules-admarkerpassthrough + AdMarkerPassthrough *PlaybackConfiguration_AdMarkerPassthrough `json:"AdMarkerPassthrough,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *PlaybackConfiguration_ManifestProcessingRules) AWSCloudFormationType() string { + return "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" +} diff --git a/schema/cdk.go b/schema/cdk.go index a27cafc2a3..83b2f95550 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -17484,6 +17484,9 @@ var CdkSchema = `{ "ComputeResources": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" }, + "ReplaceComputeEnvironment": { + "type": "boolean" + }, "ServiceRole": { "type": "string" }, @@ -17504,6 +17507,9 @@ var CdkSchema = `{ }, "UnmanagedvCpus": { "type": "number" + }, + "UpdatePolicy": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy" } }, "required": [ @@ -17603,6 +17609,9 @@ var CdkSchema = `{ }, "Type": { "type": "string" + }, + "UpdateToLatestImageVersion": { + "type": "boolean" } }, "required": [ @@ -17642,6 +17651,18 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Batch::ComputeEnvironment.UpdatePolicy": { + "additionalProperties": false, + "properties": { + "JobExecutionTimeoutMinutes": { + "type": "number" + }, + "TerminateJobsOnUpdate": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition": { "additionalProperties": false, "properties": { @@ -32229,6 +32250,15 @@ var CdkSchema = `{ "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { + "DocsToInvestigate": { + "type": "number" + }, + "ExtractDocId": { + "type": "boolean" + }, + "NestingLevel": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, @@ -32313,11 +32343,20 @@ var CdkSchema = `{ "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { + "CurrentLsn": { + "type": "string" + }, + "MaxKBytesPerRead": { + "type": "number" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "SetDataCaptureChanges": { + "type": "boolean" } }, "type": "object" @@ -32421,11 +32460,32 @@ var CdkSchema = `{ "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { + "BcpPacketSize": { + "type": "number" + }, + "ControlTablesFileGroup": { + "type": "string" + }, + "QuerySingleAlwaysOnNode": { + "type": "boolean" + }, + "ReadBackupOnly": { + "type": "boolean" + }, + "SafeguardPolicy": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "UseBcpFullLoad": { + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "type": "boolean" } }, "type": "object" @@ -32724,11 +32784,80 @@ var CdkSchema = `{ "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { + "AcceptAnyDate": { + "type": "boolean" + }, + "AfterConnectScript": { + "type": "string" + }, + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CaseSensitiveNames": { + "type": "boolean" + }, + "CompUpdate": { + "type": "boolean" + }, + "ConnectionTimeout": { + "type": "number" + }, + "DateFormat": { + "type": "string" + }, + "EmptyAsNull": { + "type": "boolean" + }, + "EncryptionMode": { + "type": "string" + }, + "ExplicitIds": { + "type": "boolean" + }, + "FileTransferUploadStreams": { + "type": "number" + }, + "LoadTimeout": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "RemoveQuotes": { + "type": "boolean" + }, + "ReplaceChars": { + "type": "string" + }, + "ReplaceInvalidChars": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "TimeFormat": { + "type": "string" + }, + "TrimBlanks": { + "type": "boolean" + }, + "TruncateColumns": { + "type": "boolean" + }, + "WriteBufferSize": { + "type": "number" } }, "type": "object" @@ -35356,6 +35485,118 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DataSync::LocationFSxOpenZFS": { + "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": { + "FsxFilesystemArn": { + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FsxFilesystemArn", + "Protocol", + "SecurityGroupArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxOpenZFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS" + } + }, + "type": "object" + }, "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { @@ -41045,6 +41286,9 @@ var CdkSchema = `{ }, "type": "array" }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions" + }, "MetadataOptions": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, @@ -41126,6 +41370,15 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { "additionalProperties": false, "properties": { @@ -44841,6 +45094,9 @@ var CdkSchema = `{ "Description": { "type": "string" }, + "GatewayLoadBalancerEndpointId": { + "type": "string" + }, "NetworkInterfaceId": { "type": "string" }, @@ -55992,6 +56248,164 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Events::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig" + }, + "RoleArn": { + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig" + } + }, + "required": [ + "EventBuses", + "Name", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, "AWS::Events::EventBus": { "additionalProperties": false, "properties": { @@ -83702,6 +84116,9 @@ var CdkSchema = `{ "FunctionName": { "type": "string" }, + "FunctionUrlAuthType": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -83743,6 +84160,114 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Lambda::Url": { + "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": { + "AuthType": { + "type": "string" + }, + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors" + }, + "Qualifier": { + "type": "string" + }, + "TargetFunctionArn": { + "type": "string" + } + }, + "required": [ + "AuthType", + "TargetFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Url" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Url.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Lambda::Version": { "additionalProperties": false, "properties": { @@ -95403,6 +95928,199 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::MediaTailor::PlaybackConfiguration": { + "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": { + "AdDecisionServerUrl": { + "type": "string" + }, + "AvailSuppression": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" + }, + "Bumper": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.Bumper" + }, + "CdnConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" + }, + "ConfigurationAliases": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "DashConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" + }, + "LivePreRollConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" + }, + "ManifestProcessingRules": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" + }, + "Name": { + "type": "string" + }, + "PersonalizationThresholdSeconds": { + "type": "number" + }, + "SessionInitializationEndpointPrefix": { + "type": "string" + }, + "SlateAdUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TranscodeProfileName": { + "type": "string" + }, + "VideoContentSourceUrl": { + "type": "string" + } + }, + "required": [ + "AdDecisionServerUrl", + "Name", + "VideoContentSourceUrl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::PlaybackConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.Bumper": { + "additionalProperties": false, + "properties": { + "EndUrl": { + "type": "string" + }, + "StartUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration": { + "additionalProperties": false, + "properties": { + "AdSegmentUrlPrefix": { + "type": "string" + }, + "ContentSegmentUrlPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut": { + "additionalProperties": false, + "properties": { + "MpdLocation": { + "type": "string" + }, + "OriginManifestType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { + "additionalProperties": false, + "properties": { + "AdDecisionServerUrl": { + "type": "string" + }, + "MaxDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules": { + "additionalProperties": false, + "properties": { + "AdMarkerPassthrough": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" + } + }, + "type": "object" + }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -131162,6 +131880,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::DataSync::LocationFSxLustre" }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS" + }, { "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" }, @@ -131624,6 +132345,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Events::Connection" }, + { + "$ref": "#/definitions/AWS::Events::Endpoint" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -132179,6 +132903,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Permission" }, + { + "$ref": "#/definitions/AWS::Lambda::Url" + }, { "$ref": "#/definitions/AWS::Lambda::Version" }, @@ -132362,6 +133089,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::MediaStore::Container" }, + { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" + }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 4bdadbfd9c..127692e94c 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -17479,6 +17479,9 @@ "ComputeResources": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" }, + "ReplaceComputeEnvironment": { + "type": "boolean" + }, "ServiceRole": { "type": "string" }, @@ -17499,6 +17502,9 @@ }, "UnmanagedvCpus": { "type": "number" + }, + "UpdatePolicy": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy" } }, "required": [ @@ -17598,6 +17604,9 @@ }, "Type": { "type": "string" + }, + "UpdateToLatestImageVersion": { + "type": "boolean" } }, "required": [ @@ -17637,6 +17646,18 @@ }, "type": "object" }, + "AWS::Batch::ComputeEnvironment.UpdatePolicy": { + "additionalProperties": false, + "properties": { + "JobExecutionTimeoutMinutes": { + "type": "number" + }, + "TerminateJobsOnUpdate": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition": { "additionalProperties": false, "properties": { @@ -32224,6 +32245,15 @@ "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { + "DocsToInvestigate": { + "type": "number" + }, + "ExtractDocId": { + "type": "boolean" + }, + "NestingLevel": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, @@ -32308,11 +32338,20 @@ "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { + "CurrentLsn": { + "type": "string" + }, + "MaxKBytesPerRead": { + "type": "number" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "SetDataCaptureChanges": { + "type": "boolean" } }, "type": "object" @@ -32416,11 +32455,32 @@ "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { + "BcpPacketSize": { + "type": "number" + }, + "ControlTablesFileGroup": { + "type": "string" + }, + "QuerySingleAlwaysOnNode": { + "type": "boolean" + }, + "ReadBackupOnly": { + "type": "boolean" + }, + "SafeguardPolicy": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "UseBcpFullLoad": { + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "type": "boolean" } }, "type": "object" @@ -32719,11 +32779,80 @@ "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { + "AcceptAnyDate": { + "type": "boolean" + }, + "AfterConnectScript": { + "type": "string" + }, + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CaseSensitiveNames": { + "type": "boolean" + }, + "CompUpdate": { + "type": "boolean" + }, + "ConnectionTimeout": { + "type": "number" + }, + "DateFormat": { + "type": "string" + }, + "EmptyAsNull": { + "type": "boolean" + }, + "EncryptionMode": { + "type": "string" + }, + "ExplicitIds": { + "type": "boolean" + }, + "FileTransferUploadStreams": { + "type": "number" + }, + "LoadTimeout": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "RemoveQuotes": { + "type": "boolean" + }, + "ReplaceChars": { + "type": "string" + }, + "ReplaceInvalidChars": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "TimeFormat": { + "type": "string" + }, + "TrimBlanks": { + "type": "boolean" + }, + "TruncateColumns": { + "type": "boolean" + }, + "WriteBufferSize": { + "type": "number" } }, "type": "object" @@ -35351,6 +35480,118 @@ ], "type": "object" }, + "AWS::DataSync::LocationFSxOpenZFS": { + "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": { + "FsxFilesystemArn": { + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FsxFilesystemArn", + "Protocol", + "SecurityGroupArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxOpenZFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS" + } + }, + "type": "object" + }, "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { @@ -41040,6 +41281,9 @@ }, "type": "array" }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions" + }, "MetadataOptions": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, @@ -41121,6 +41365,15 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { "additionalProperties": false, "properties": { @@ -44836,6 +45089,9 @@ "Description": { "type": "string" }, + "GatewayLoadBalancerEndpointId": { + "type": "string" + }, "NetworkInterfaceId": { "type": "string" }, @@ -55987,6 +56243,164 @@ ], "type": "object" }, + "AWS::Events::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig" + }, + "RoleArn": { + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig" + } + }, + "required": [ + "EventBuses", + "Name", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, "AWS::Events::EventBus": { "additionalProperties": false, "properties": { @@ -83697,6 +84111,9 @@ "FunctionName": { "type": "string" }, + "FunctionUrlAuthType": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -83738,6 +84155,114 @@ ], "type": "object" }, + "AWS::Lambda::Url": { + "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": { + "AuthType": { + "type": "string" + }, + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors" + }, + "Qualifier": { + "type": "string" + }, + "TargetFunctionArn": { + "type": "string" + } + }, + "required": [ + "AuthType", + "TargetFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Url" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Url.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Lambda::Version": { "additionalProperties": false, "properties": { @@ -95398,6 +95923,199 @@ ], "type": "object" }, + "AWS::MediaTailor::PlaybackConfiguration": { + "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": { + "AdDecisionServerUrl": { + "type": "string" + }, + "AvailSuppression": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" + }, + "Bumper": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.Bumper" + }, + "CdnConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" + }, + "ConfigurationAliases": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "DashConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" + }, + "LivePreRollConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" + }, + "ManifestProcessingRules": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" + }, + "Name": { + "type": "string" + }, + "PersonalizationThresholdSeconds": { + "type": "number" + }, + "SessionInitializationEndpointPrefix": { + "type": "string" + }, + "SlateAdUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TranscodeProfileName": { + "type": "string" + }, + "VideoContentSourceUrl": { + "type": "string" + } + }, + "required": [ + "AdDecisionServerUrl", + "Name", + "VideoContentSourceUrl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::PlaybackConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.Bumper": { + "additionalProperties": false, + "properties": { + "EndUrl": { + "type": "string" + }, + "StartUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration": { + "additionalProperties": false, + "properties": { + "AdSegmentUrlPrefix": { + "type": "string" + }, + "ContentSegmentUrlPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut": { + "additionalProperties": false, + "properties": { + "MpdLocation": { + "type": "string" + }, + "OriginManifestType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { + "additionalProperties": false, + "properties": { + "AdDecisionServerUrl": { + "type": "string" + }, + "MaxDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules": { + "additionalProperties": false, + "properties": { + "AdMarkerPassthrough": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" + } + }, + "type": "object" + }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -131157,6 +131875,9 @@ { "$ref": "#/definitions/AWS::DataSync::LocationFSxLustre" }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS" + }, { "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" }, @@ -131619,6 +132340,9 @@ { "$ref": "#/definitions/AWS::Events::Connection" }, + { + "$ref": "#/definitions/AWS::Events::Endpoint" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -132174,6 +132898,9 @@ { "$ref": "#/definitions/AWS::Lambda::Permission" }, + { + "$ref": "#/definitions/AWS::Lambda::Url" + }, { "$ref": "#/definitions/AWS::Lambda::Version" }, @@ -132357,6 +133084,9 @@ { "$ref": "#/definitions/AWS::MediaStore::Container" }, + { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" + }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 596bc93227..bc684e32ff 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -17484,6 +17484,9 @@ var CloudformationSchema = `{ "ComputeResources": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" }, + "ReplaceComputeEnvironment": { + "type": "boolean" + }, "ServiceRole": { "type": "string" }, @@ -17504,6 +17507,9 @@ var CloudformationSchema = `{ }, "UnmanagedvCpus": { "type": "number" + }, + "UpdatePolicy": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy" } }, "required": [ @@ -17603,6 +17609,9 @@ var CloudformationSchema = `{ }, "Type": { "type": "string" + }, + "UpdateToLatestImageVersion": { + "type": "boolean" } }, "required": [ @@ -17642,6 +17651,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Batch::ComputeEnvironment.UpdatePolicy": { + "additionalProperties": false, + "properties": { + "JobExecutionTimeoutMinutes": { + "type": "number" + }, + "TerminateJobsOnUpdate": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition": { "additionalProperties": false, "properties": { @@ -32171,6 +32192,15 @@ var CloudformationSchema = `{ "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { + "DocsToInvestigate": { + "type": "number" + }, + "ExtractDocId": { + "type": "boolean" + }, + "NestingLevel": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, @@ -32255,11 +32285,20 @@ var CloudformationSchema = `{ "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { + "CurrentLsn": { + "type": "string" + }, + "MaxKBytesPerRead": { + "type": "number" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "SetDataCaptureChanges": { + "type": "boolean" } }, "type": "object" @@ -32363,11 +32402,32 @@ var CloudformationSchema = `{ "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { + "BcpPacketSize": { + "type": "number" + }, + "ControlTablesFileGroup": { + "type": "string" + }, + "QuerySingleAlwaysOnNode": { + "type": "boolean" + }, + "ReadBackupOnly": { + "type": "boolean" + }, + "SafeguardPolicy": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "UseBcpFullLoad": { + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "type": "boolean" } }, "type": "object" @@ -32666,11 +32726,80 @@ var CloudformationSchema = `{ "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { + "AcceptAnyDate": { + "type": "boolean" + }, + "AfterConnectScript": { + "type": "string" + }, + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CaseSensitiveNames": { + "type": "boolean" + }, + "CompUpdate": { + "type": "boolean" + }, + "ConnectionTimeout": { + "type": "number" + }, + "DateFormat": { + "type": "string" + }, + "EmptyAsNull": { + "type": "boolean" + }, + "EncryptionMode": { + "type": "string" + }, + "ExplicitIds": { + "type": "boolean" + }, + "FileTransferUploadStreams": { + "type": "number" + }, + "LoadTimeout": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "RemoveQuotes": { + "type": "boolean" + }, + "ReplaceChars": { + "type": "string" + }, + "ReplaceInvalidChars": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "TimeFormat": { + "type": "string" + }, + "TrimBlanks": { + "type": "boolean" + }, + "TruncateColumns": { + "type": "boolean" + }, + "WriteBufferSize": { + "type": "number" } }, "type": "object" @@ -35298,6 +35427,118 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DataSync::LocationFSxOpenZFS": { + "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": { + "FsxFilesystemArn": { + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FsxFilesystemArn", + "Protocol", + "SecurityGroupArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxOpenZFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS" + } + }, + "type": "object" + }, "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { @@ -40987,6 +41228,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions" + }, "MetadataOptions": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, @@ -41068,6 +41312,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { "additionalProperties": false, "properties": { @@ -44783,6 +45036,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "GatewayLoadBalancerEndpointId": { + "type": "string" + }, "NetworkInterfaceId": { "type": "string" }, @@ -55934,6 +56190,164 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Events::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig" + }, + "RoleArn": { + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig" + } + }, + "required": [ + "EventBuses", + "Name", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, "AWS::Events::EventBus": { "additionalProperties": false, "properties": { @@ -83644,6 +84058,9 @@ var CloudformationSchema = `{ "FunctionName": { "type": "string" }, + "FunctionUrlAuthType": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -83685,6 +84102,114 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Lambda::Url": { + "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": { + "AuthType": { + "type": "string" + }, + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors" + }, + "Qualifier": { + "type": "string" + }, + "TargetFunctionArn": { + "type": "string" + } + }, + "required": [ + "AuthType", + "TargetFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Url" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Url.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Lambda::Version": { "additionalProperties": false, "properties": { @@ -95345,6 +95870,199 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::MediaTailor::PlaybackConfiguration": { + "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": { + "AdDecisionServerUrl": { + "type": "string" + }, + "AvailSuppression": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" + }, + "Bumper": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.Bumper" + }, + "CdnConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" + }, + "ConfigurationAliases": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "DashConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" + }, + "LivePreRollConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" + }, + "ManifestProcessingRules": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" + }, + "Name": { + "type": "string" + }, + "PersonalizationThresholdSeconds": { + "type": "number" + }, + "SessionInitializationEndpointPrefix": { + "type": "string" + }, + "SlateAdUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TranscodeProfileName": { + "type": "string" + }, + "VideoContentSourceUrl": { + "type": "string" + } + }, + "required": [ + "AdDecisionServerUrl", + "Name", + "VideoContentSourceUrl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::PlaybackConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.Bumper": { + "additionalProperties": false, + "properties": { + "EndUrl": { + "type": "string" + }, + "StartUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration": { + "additionalProperties": false, + "properties": { + "AdSegmentUrlPrefix": { + "type": "string" + }, + "ContentSegmentUrlPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut": { + "additionalProperties": false, + "properties": { + "MpdLocation": { + "type": "string" + }, + "OriginManifestType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { + "additionalProperties": false, + "properties": { + "AdDecisionServerUrl": { + "type": "string" + }, + "MaxDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules": { + "additionalProperties": false, + "properties": { + "AdMarkerPassthrough": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" + } + }, + "type": "object" + }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -131101,6 +131819,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::DataSync::LocationFSxLustre" }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS" + }, { "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" }, @@ -131563,6 +132284,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Events::Connection" }, + { + "$ref": "#/definitions/AWS::Events::Endpoint" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -132118,6 +132842,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Permission" }, + { + "$ref": "#/definitions/AWS::Lambda::Url" + }, { "$ref": "#/definitions/AWS::Lambda::Version" }, @@ -132301,6 +133028,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::MediaStore::Container" }, + { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" + }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index d6d2912eb8..58b1199a4d 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -17479,6 +17479,9 @@ "ComputeResources": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" }, + "ReplaceComputeEnvironment": { + "type": "boolean" + }, "ServiceRole": { "type": "string" }, @@ -17499,6 +17502,9 @@ }, "UnmanagedvCpus": { "type": "number" + }, + "UpdatePolicy": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy" } }, "required": [ @@ -17598,6 +17604,9 @@ }, "Type": { "type": "string" + }, + "UpdateToLatestImageVersion": { + "type": "boolean" } }, "required": [ @@ -17637,6 +17646,18 @@ }, "type": "object" }, + "AWS::Batch::ComputeEnvironment.UpdatePolicy": { + "additionalProperties": false, + "properties": { + "JobExecutionTimeoutMinutes": { + "type": "number" + }, + "TerminateJobsOnUpdate": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition": { "additionalProperties": false, "properties": { @@ -32166,6 +32187,15 @@ "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { + "DocsToInvestigate": { + "type": "number" + }, + "ExtractDocId": { + "type": "boolean" + }, + "NestingLevel": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, @@ -32250,11 +32280,20 @@ "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { + "CurrentLsn": { + "type": "string" + }, + "MaxKBytesPerRead": { + "type": "number" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "SetDataCaptureChanges": { + "type": "boolean" } }, "type": "object" @@ -32358,11 +32397,32 @@ "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { + "BcpPacketSize": { + "type": "number" + }, + "ControlTablesFileGroup": { + "type": "string" + }, + "QuerySingleAlwaysOnNode": { + "type": "boolean" + }, + "ReadBackupOnly": { + "type": "boolean" + }, + "SafeguardPolicy": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "UseBcpFullLoad": { + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "type": "boolean" } }, "type": "object" @@ -32661,11 +32721,80 @@ "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { + "AcceptAnyDate": { + "type": "boolean" + }, + "AfterConnectScript": { + "type": "string" + }, + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CaseSensitiveNames": { + "type": "boolean" + }, + "CompUpdate": { + "type": "boolean" + }, + "ConnectionTimeout": { + "type": "number" + }, + "DateFormat": { + "type": "string" + }, + "EmptyAsNull": { + "type": "boolean" + }, + "EncryptionMode": { + "type": "string" + }, + "ExplicitIds": { + "type": "boolean" + }, + "FileTransferUploadStreams": { + "type": "number" + }, + "LoadTimeout": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "RemoveQuotes": { + "type": "boolean" + }, + "ReplaceChars": { + "type": "string" + }, + "ReplaceInvalidChars": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "TimeFormat": { + "type": "string" + }, + "TrimBlanks": { + "type": "boolean" + }, + "TruncateColumns": { + "type": "boolean" + }, + "WriteBufferSize": { + "type": "number" } }, "type": "object" @@ -35293,6 +35422,118 @@ ], "type": "object" }, + "AWS::DataSync::LocationFSxOpenZFS": { + "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": { + "FsxFilesystemArn": { + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FsxFilesystemArn", + "Protocol", + "SecurityGroupArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxOpenZFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS" + } + }, + "type": "object" + }, "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { @@ -40982,6 +41223,9 @@ }, "type": "array" }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions" + }, "MetadataOptions": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, @@ -41063,6 +41307,15 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { "additionalProperties": false, "properties": { @@ -44778,6 +45031,9 @@ "Description": { "type": "string" }, + "GatewayLoadBalancerEndpointId": { + "type": "string" + }, "NetworkInterfaceId": { "type": "string" }, @@ -55929,6 +56185,164 @@ ], "type": "object" }, + "AWS::Events::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig" + }, + "RoleArn": { + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig" + } + }, + "required": [ + "EventBuses", + "Name", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, "AWS::Events::EventBus": { "additionalProperties": false, "properties": { @@ -83639,6 +84053,9 @@ "FunctionName": { "type": "string" }, + "FunctionUrlAuthType": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -83680,6 +84097,114 @@ ], "type": "object" }, + "AWS::Lambda::Url": { + "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": { + "AuthType": { + "type": "string" + }, + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors" + }, + "Qualifier": { + "type": "string" + }, + "TargetFunctionArn": { + "type": "string" + } + }, + "required": [ + "AuthType", + "TargetFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Url" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Url.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Lambda::Version": { "additionalProperties": false, "properties": { @@ -95340,6 +95865,199 @@ ], "type": "object" }, + "AWS::MediaTailor::PlaybackConfiguration": { + "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": { + "AdDecisionServerUrl": { + "type": "string" + }, + "AvailSuppression": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" + }, + "Bumper": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.Bumper" + }, + "CdnConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" + }, + "ConfigurationAliases": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "DashConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" + }, + "LivePreRollConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" + }, + "ManifestProcessingRules": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" + }, + "Name": { + "type": "string" + }, + "PersonalizationThresholdSeconds": { + "type": "number" + }, + "SessionInitializationEndpointPrefix": { + "type": "string" + }, + "SlateAdUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TranscodeProfileName": { + "type": "string" + }, + "VideoContentSourceUrl": { + "type": "string" + } + }, + "required": [ + "AdDecisionServerUrl", + "Name", + "VideoContentSourceUrl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::PlaybackConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.Bumper": { + "additionalProperties": false, + "properties": { + "EndUrl": { + "type": "string" + }, + "StartUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration": { + "additionalProperties": false, + "properties": { + "AdSegmentUrlPrefix": { + "type": "string" + }, + "ContentSegmentUrlPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut": { + "additionalProperties": false, + "properties": { + "MpdLocation": { + "type": "string" + }, + "OriginManifestType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { + "additionalProperties": false, + "properties": { + "AdDecisionServerUrl": { + "type": "string" + }, + "MaxDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules": { + "additionalProperties": false, + "properties": { + "AdMarkerPassthrough": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" + } + }, + "type": "object" + }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -131096,6 +131814,9 @@ { "$ref": "#/definitions/AWS::DataSync::LocationFSxLustre" }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS" + }, { "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" }, @@ -131558,6 +132279,9 @@ { "$ref": "#/definitions/AWS::Events::Connection" }, + { + "$ref": "#/definitions/AWS::Events::Endpoint" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -132113,6 +132837,9 @@ { "$ref": "#/definitions/AWS::Lambda::Permission" }, + { + "$ref": "#/definitions/AWS::Lambda::Url" + }, { "$ref": "#/definitions/AWS::Lambda::Version" }, @@ -132296,6 +133023,9 @@ { "$ref": "#/definitions/AWS::MediaStore::Container" }, + { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" + }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, diff --git a/schema/sam.go b/schema/sam.go index 7c807e9664..c4e7de94aa 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -17484,6 +17484,9 @@ var SamSchema = `{ "ComputeResources": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" }, + "ReplaceComputeEnvironment": { + "type": "boolean" + }, "ServiceRole": { "type": "string" }, @@ -17504,6 +17507,9 @@ var SamSchema = `{ }, "UnmanagedvCpus": { "type": "number" + }, + "UpdatePolicy": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy" } }, "required": [ @@ -17603,6 +17609,9 @@ var SamSchema = `{ }, "Type": { "type": "string" + }, + "UpdateToLatestImageVersion": { + "type": "boolean" } }, "required": [ @@ -17642,6 +17651,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Batch::ComputeEnvironment.UpdatePolicy": { + "additionalProperties": false, + "properties": { + "JobExecutionTimeoutMinutes": { + "type": "number" + }, + "TerminateJobsOnUpdate": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition": { "additionalProperties": false, "properties": { @@ -32171,6 +32192,15 @@ var SamSchema = `{ "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { + "DocsToInvestigate": { + "type": "number" + }, + "ExtractDocId": { + "type": "boolean" + }, + "NestingLevel": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, @@ -32255,11 +32285,20 @@ var SamSchema = `{ "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { + "CurrentLsn": { + "type": "string" + }, + "MaxKBytesPerRead": { + "type": "number" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "SetDataCaptureChanges": { + "type": "boolean" } }, "type": "object" @@ -32363,11 +32402,32 @@ var SamSchema = `{ "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { + "BcpPacketSize": { + "type": "number" + }, + "ControlTablesFileGroup": { + "type": "string" + }, + "QuerySingleAlwaysOnNode": { + "type": "boolean" + }, + "ReadBackupOnly": { + "type": "boolean" + }, + "SafeguardPolicy": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "UseBcpFullLoad": { + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "type": "boolean" } }, "type": "object" @@ -32666,11 +32726,80 @@ var SamSchema = `{ "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { + "AcceptAnyDate": { + "type": "boolean" + }, + "AfterConnectScript": { + "type": "string" + }, + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CaseSensitiveNames": { + "type": "boolean" + }, + "CompUpdate": { + "type": "boolean" + }, + "ConnectionTimeout": { + "type": "number" + }, + "DateFormat": { + "type": "string" + }, + "EmptyAsNull": { + "type": "boolean" + }, + "EncryptionMode": { + "type": "string" + }, + "ExplicitIds": { + "type": "boolean" + }, + "FileTransferUploadStreams": { + "type": "number" + }, + "LoadTimeout": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "RemoveQuotes": { + "type": "boolean" + }, + "ReplaceChars": { + "type": "string" + }, + "ReplaceInvalidChars": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "TimeFormat": { + "type": "string" + }, + "TrimBlanks": { + "type": "boolean" + }, + "TruncateColumns": { + "type": "boolean" + }, + "WriteBufferSize": { + "type": "number" } }, "type": "object" @@ -35298,6 +35427,118 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DataSync::LocationFSxOpenZFS": { + "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": { + "FsxFilesystemArn": { + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FsxFilesystemArn", + "Protocol", + "SecurityGroupArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxOpenZFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS" + } + }, + "type": "object" + }, "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { @@ -40987,6 +41228,9 @@ var SamSchema = `{ }, "type": "array" }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions" + }, "MetadataOptions": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, @@ -41068,6 +41312,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { "additionalProperties": false, "properties": { @@ -44783,6 +45036,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "GatewayLoadBalancerEndpointId": { + "type": "string" + }, "NetworkInterfaceId": { "type": "string" }, @@ -55934,6 +56190,164 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Events::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig" + }, + "RoleArn": { + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig" + } + }, + "required": [ + "EventBuses", + "Name", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, "AWS::Events::EventBus": { "additionalProperties": false, "properties": { @@ -83644,6 +84058,9 @@ var SamSchema = `{ "FunctionName": { "type": "string" }, + "FunctionUrlAuthType": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -83685,6 +84102,114 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Lambda::Url": { + "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": { + "AuthType": { + "type": "string" + }, + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors" + }, + "Qualifier": { + "type": "string" + }, + "TargetFunctionArn": { + "type": "string" + } + }, + "required": [ + "AuthType", + "TargetFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Url" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Url.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Lambda::Version": { "additionalProperties": false, "properties": { @@ -95345,6 +95870,199 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::MediaTailor::PlaybackConfiguration": { + "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": { + "AdDecisionServerUrl": { + "type": "string" + }, + "AvailSuppression": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" + }, + "Bumper": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.Bumper" + }, + "CdnConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" + }, + "ConfigurationAliases": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "DashConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" + }, + "LivePreRollConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" + }, + "ManifestProcessingRules": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" + }, + "Name": { + "type": "string" + }, + "PersonalizationThresholdSeconds": { + "type": "number" + }, + "SessionInitializationEndpointPrefix": { + "type": "string" + }, + "SlateAdUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TranscodeProfileName": { + "type": "string" + }, + "VideoContentSourceUrl": { + "type": "string" + } + }, + "required": [ + "AdDecisionServerUrl", + "Name", + "VideoContentSourceUrl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::PlaybackConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.Bumper": { + "additionalProperties": false, + "properties": { + "EndUrl": { + "type": "string" + }, + "StartUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration": { + "additionalProperties": false, + "properties": { + "AdSegmentUrlPrefix": { + "type": "string" + }, + "ContentSegmentUrlPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut": { + "additionalProperties": false, + "properties": { + "MpdLocation": { + "type": "string" + }, + "OriginManifestType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { + "additionalProperties": false, + "properties": { + "AdDecisionServerUrl": { + "type": "string" + }, + "MaxDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules": { + "additionalProperties": false, + "properties": { + "AdMarkerPassthrough": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" + } + }, + "type": "object" + }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -133779,6 +134497,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::DataSync::LocationFSxLustre" }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS" + }, { "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" }, @@ -134241,6 +134962,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Events::Connection" }, + { + "$ref": "#/definitions/AWS::Events::Endpoint" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -134796,6 +135520,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Lambda::Permission" }, + { + "$ref": "#/definitions/AWS::Lambda::Url" + }, { "$ref": "#/definitions/AWS::Lambda::Version" }, @@ -134979,6 +135706,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::MediaStore::Container" }, + { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" + }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 6fe77ccf14..0b67a1f8ff 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -17479,6 +17479,9 @@ "ComputeResources": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" }, + "ReplaceComputeEnvironment": { + "type": "boolean" + }, "ServiceRole": { "type": "string" }, @@ -17499,6 +17502,9 @@ }, "UnmanagedvCpus": { "type": "number" + }, + "UpdatePolicy": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.UpdatePolicy" } }, "required": [ @@ -17598,6 +17604,9 @@ }, "Type": { "type": "string" + }, + "UpdateToLatestImageVersion": { + "type": "boolean" } }, "required": [ @@ -17637,6 +17646,18 @@ }, "type": "object" }, + "AWS::Batch::ComputeEnvironment.UpdatePolicy": { + "additionalProperties": false, + "properties": { + "JobExecutionTimeoutMinutes": { + "type": "number" + }, + "TerminateJobsOnUpdate": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Batch::JobDefinition": { "additionalProperties": false, "properties": { @@ -32166,6 +32187,15 @@ "AWS::DMS::Endpoint.DocDbSettings": { "additionalProperties": false, "properties": { + "DocsToInvestigate": { + "type": "number" + }, + "ExtractDocId": { + "type": "boolean" + }, + "NestingLevel": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, @@ -32250,11 +32280,20 @@ "AWS::DMS::Endpoint.IbmDb2Settings": { "additionalProperties": false, "properties": { + "CurrentLsn": { + "type": "string" + }, + "MaxKBytesPerRead": { + "type": "number" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "SetDataCaptureChanges": { + "type": "boolean" } }, "type": "object" @@ -32358,11 +32397,32 @@ "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { "additionalProperties": false, "properties": { + "BcpPacketSize": { + "type": "number" + }, + "ControlTablesFileGroup": { + "type": "string" + }, + "QuerySingleAlwaysOnNode": { + "type": "boolean" + }, + "ReadBackupOnly": { + "type": "boolean" + }, + "SafeguardPolicy": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "UseBcpFullLoad": { + "type": "boolean" + }, + "UseThirdPartyBackupDevice": { + "type": "boolean" } }, "type": "object" @@ -32661,11 +32721,80 @@ "AWS::DMS::Endpoint.RedshiftSettings": { "additionalProperties": false, "properties": { + "AcceptAnyDate": { + "type": "boolean" + }, + "AfterConnectScript": { + "type": "string" + }, + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CaseSensitiveNames": { + "type": "boolean" + }, + "CompUpdate": { + "type": "boolean" + }, + "ConnectionTimeout": { + "type": "number" + }, + "DateFormat": { + "type": "string" + }, + "EmptyAsNull": { + "type": "boolean" + }, + "EncryptionMode": { + "type": "string" + }, + "ExplicitIds": { + "type": "boolean" + }, + "FileTransferUploadStreams": { + "type": "number" + }, + "LoadTimeout": { + "type": "number" + }, + "MaxFileSize": { + "type": "number" + }, + "RemoveQuotes": { + "type": "boolean" + }, + "ReplaceChars": { + "type": "string" + }, + "ReplaceInvalidChars": { + "type": "string" + }, "SecretsManagerAccessRoleArn": { "type": "string" }, "SecretsManagerSecretId": { "type": "string" + }, + "ServerSideEncryptionKmsKeyId": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "TimeFormat": { + "type": "string" + }, + "TrimBlanks": { + "type": "boolean" + }, + "TruncateColumns": { + "type": "boolean" + }, + "WriteBufferSize": { + "type": "number" } }, "type": "object" @@ -35293,6 +35422,118 @@ ], "type": "object" }, + "AWS::DataSync::LocationFSxOpenZFS": { + "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": { + "FsxFilesystemArn": { + "type": "string" + }, + "Protocol": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.Protocol" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FsxFilesystemArn", + "Protocol", + "SecurityGroupArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxOpenZFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.NFS": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.MountOptions" + } + }, + "required": [ + "MountOptions" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxOpenZFS.Protocol": { + "additionalProperties": false, + "properties": { + "NFS": { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS.NFS" + } + }, + "type": "object" + }, "AWS::DataSync::LocationFSxWindows": { "additionalProperties": false, "properties": { @@ -40982,6 +41223,9 @@ }, "type": "array" }, + "MaintenanceOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MaintenanceOptions" + }, "MetadataOptions": { "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" }, @@ -41063,6 +41307,15 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.MaintenanceOptions": { + "additionalProperties": false, + "properties": { + "AutoRecovery": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu": { "additionalProperties": false, "properties": { @@ -44778,6 +45031,9 @@ "Description": { "type": "string" }, + "GatewayLoadBalancerEndpointId": { + "type": "string" + }, "NetworkInterfaceId": { "type": "string" }, @@ -55929,6 +56185,164 @@ ], "type": "object" }, + "AWS::Events::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBuses": { + "items": { + "$ref": "#/definitions/AWS::Events::Endpoint.EndpointEventBus" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ReplicationConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.ReplicationConfig" + }, + "RoleArn": { + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.RoutingConfig" + } + }, + "required": [ + "EventBuses", + "Name", + "RoutingConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Endpoint.EndpointEventBus": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::Events::Endpoint.FailoverConfig": { + "additionalProperties": false, + "properties": { + "Primary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Primary" + }, + "Secondary": { + "$ref": "#/definitions/AWS::Events::Endpoint.Secondary" + } + }, + "required": [ + "Primary", + "Secondary" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Primary": { + "additionalProperties": false, + "properties": { + "HealthCheck": { + "type": "string" + } + }, + "required": [ + "HealthCheck" + ], + "type": "object" + }, + "AWS::Events::Endpoint.ReplicationConfig": { + "additionalProperties": false, + "properties": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "AWS::Events::Endpoint.RoutingConfig": { + "additionalProperties": false, + "properties": { + "FailoverConfig": { + "$ref": "#/definitions/AWS::Events::Endpoint.FailoverConfig" + } + }, + "required": [ + "FailoverConfig" + ], + "type": "object" + }, + "AWS::Events::Endpoint.Secondary": { + "additionalProperties": false, + "properties": { + "Route": { + "type": "string" + } + }, + "required": [ + "Route" + ], + "type": "object" + }, "AWS::Events::EventBus": { "additionalProperties": false, "properties": { @@ -83639,6 +84053,9 @@ "FunctionName": { "type": "string" }, + "FunctionUrlAuthType": { + "type": "string" + }, "Principal": { "type": "string" }, @@ -83680,6 +84097,114 @@ ], "type": "object" }, + "AWS::Lambda::Url": { + "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": { + "AuthType": { + "type": "string" + }, + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors" + }, + "Qualifier": { + "type": "string" + }, + "TargetFunctionArn": { + "type": "string" + } + }, + "required": [ + "AuthType", + "TargetFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Url" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Url.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::Lambda::Version": { "additionalProperties": false, "properties": { @@ -95340,6 +95865,199 @@ ], "type": "object" }, + "AWS::MediaTailor::PlaybackConfiguration": { + "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": { + "AdDecisionServerUrl": { + "type": "string" + }, + "AvailSuppression": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression" + }, + "Bumper": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.Bumper" + }, + "CdnConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration" + }, + "ConfigurationAliases": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "DashConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut" + }, + "LivePreRollConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration" + }, + "ManifestProcessingRules": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules" + }, + "Name": { + "type": "string" + }, + "PersonalizationThresholdSeconds": { + "type": "number" + }, + "SessionInitializationEndpointPrefix": { + "type": "string" + }, + "SlateAdUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TranscodeProfileName": { + "type": "string" + }, + "VideoContentSourceUrl": { + "type": "string" + } + }, + "required": [ + "AdDecisionServerUrl", + "Name", + "VideoContentSourceUrl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::PlaybackConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.Bumper": { + "additionalProperties": false, + "properties": { + "EndUrl": { + "type": "string" + }, + "StartUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.CdnConfiguration": { + "additionalProperties": false, + "properties": { + "AdSegmentUrlPrefix": { + "type": "string" + }, + "ContentSegmentUrlPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.DashConfigurationForPut": { + "additionalProperties": false, + "properties": { + "MpdLocation": { + "type": "string" + }, + "OriginManifestType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { + "additionalProperties": false, + "properties": { + "AdDecisionServerUrl": { + "type": "string" + }, + "MaxDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaTailor::PlaybackConfiguration.ManifestProcessingRules": { + "additionalProperties": false, + "properties": { + "AdMarkerPassthrough": { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdMarkerPassthrough" + } + }, + "type": "object" + }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -133774,6 +134492,9 @@ { "$ref": "#/definitions/AWS::DataSync::LocationFSxLustre" }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxOpenZFS" + }, { "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" }, @@ -134236,6 +134957,9 @@ { "$ref": "#/definitions/AWS::Events::Connection" }, + { + "$ref": "#/definitions/AWS::Events::Endpoint" + }, { "$ref": "#/definitions/AWS::Events::EventBus" }, @@ -134791,6 +135515,9 @@ { "$ref": "#/definitions/AWS::Lambda::Permission" }, + { + "$ref": "#/definitions/AWS::Lambda::Url" + }, { "$ref": "#/definitions/AWS::Lambda::Version" }, @@ -134974,6 +135701,9 @@ { "$ref": "#/definitions/AWS::MediaStore::Container" }, + { + "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" + }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" },