diff --git a/cloudformation/all.go b/cloudformation/all.go index 919e9a6a0e..bbbd3dffd8 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -280,6 +280,8 @@ func AllResources() map[string]Resource { "AWS::AppConfig::Deployment": &appconfig.Deployment{}, "AWS::AppConfig::DeploymentStrategy": &appconfig.DeploymentStrategy{}, "AWS::AppConfig::Environment": &appconfig.Environment{}, + "AWS::AppConfig::Extension": &appconfig.Extension{}, + "AWS::AppConfig::ExtensionAssociation": &appconfig.ExtensionAssociation{}, "AWS::AppConfig::HostedConfigurationVersion": &appconfig.HostedConfigurationVersion{}, "AWS::AppFlow::Connector": &appflow.Connector{}, "AWS::AppFlow::ConnectorProfile": &appflow.ConnectorProfile{}, @@ -1024,6 +1026,7 @@ func AllResources() map[string]Resource { "AWS::QuickSight::Dashboard": &quicksight.Dashboard{}, "AWS::QuickSight::DataSet": &quicksight.DataSet{}, "AWS::QuickSight::DataSource": &quicksight.DataSource{}, + "AWS::QuickSight::RefreshSchedule": &quicksight.RefreshSchedule{}, "AWS::QuickSight::Template": &quicksight.Template{}, "AWS::QuickSight::Theme": &quicksight.Theme{}, "AWS::RAM::ResourceShare": &ram.ResourceShare{}, @@ -2556,6 +2559,54 @@ func (t *Template) GetAppConfigEnvironmentWithName(name string) (*appconfig.Envi return nil, fmt.Errorf("resource %q of type appconfig.Environment not found", name) } +// GetAllAppConfigExtensionResources retrieves all appconfig.Extension items from an AWS CloudFormation template +func (t *Template) GetAllAppConfigExtensionResources() map[string]*appconfig.Extension { + results := map[string]*appconfig.Extension{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appconfig.Extension: + results[name] = resource + } + } + return results +} + +// GetAppConfigExtensionWithName retrieves all appconfig.Extension items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppConfigExtensionWithName(name string) (*appconfig.Extension, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appconfig.Extension: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appconfig.Extension not found", name) +} + +// GetAllAppConfigExtensionAssociationResources retrieves all appconfig.ExtensionAssociation items from an AWS CloudFormation template +func (t *Template) GetAllAppConfigExtensionAssociationResources() map[string]*appconfig.ExtensionAssociation { + results := map[string]*appconfig.ExtensionAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *appconfig.ExtensionAssociation: + results[name] = resource + } + } + return results +} + +// GetAppConfigExtensionAssociationWithName retrieves all appconfig.ExtensionAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAppConfigExtensionAssociationWithName(name string) (*appconfig.ExtensionAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *appconfig.ExtensionAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type appconfig.ExtensionAssociation not found", name) +} + // GetAllAppConfigHostedConfigurationVersionResources retrieves all appconfig.HostedConfigurationVersion items from an AWS CloudFormation template func (t *Template) GetAllAppConfigHostedConfigurationVersionResources() map[string]*appconfig.HostedConfigurationVersion { results := map[string]*appconfig.HostedConfigurationVersion{} @@ -20412,6 +20463,30 @@ func (t *Template) GetQuickSightDataSourceWithName(name string) (*quicksight.Dat return nil, fmt.Errorf("resource %q of type quicksight.DataSource not found", name) } +// GetAllQuickSightRefreshScheduleResources retrieves all quicksight.RefreshSchedule items from an AWS CloudFormation template +func (t *Template) GetAllQuickSightRefreshScheduleResources() map[string]*quicksight.RefreshSchedule { + results := map[string]*quicksight.RefreshSchedule{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *quicksight.RefreshSchedule: + results[name] = resource + } + } + return results +} + +// GetQuickSightRefreshScheduleWithName retrieves all quicksight.RefreshSchedule items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetQuickSightRefreshScheduleWithName(name string) (*quicksight.RefreshSchedule, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *quicksight.RefreshSchedule: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type quicksight.RefreshSchedule not found", name) +} + // GetAllQuickSightTemplateResources retrieves all quicksight.Template items from an AWS CloudFormation template func (t *Template) GetAllQuickSightTemplateResources() map[string]*quicksight.Template { results := map[string]*quicksight.Template{} diff --git a/cloudformation/appconfig/aws-appconfig-extension.go b/cloudformation/appconfig/aws-appconfig-extension.go new file mode 100644 index 0000000000..658fcadd57 --- /dev/null +++ b/cloudformation/appconfig/aws-appconfig-extension.go @@ -0,0 +1,143 @@ +// Code generated by "go generate". Please don't change this file directly. + +package appconfig + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Extension AWS CloudFormation Resource (AWS::AppConfig::Extension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html +type Extension struct { + + // Actions AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-actions + Actions interface{} `json:"Actions"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-description + Description *string `json:"Description,omitempty"` + + // LatestVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-latestversionnumber + LatestVersionNumber *int `json:"LatestVersionNumber,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-name + Name string `json:"Name"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-parameters + Parameters map[string]Extension_Parameter `json:"Parameters,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-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 *Extension) AWSCloudFormationType() string { + return "AWS::AppConfig::Extension" +} + +// 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 Extension) MarshalJSON() ([]byte, error) { + type Properties Extension + 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 *Extension) UnmarshalJSON(b []byte) error { + type Properties Extension + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = Extension(*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/appconfig/aws-appconfig-extension_parameter.go b/cloudformation/appconfig/aws-appconfig-extension_parameter.go new file mode 100644 index 0000000000..dc99cd63ff --- /dev/null +++ b/cloudformation/appconfig/aws-appconfig-extension_parameter.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package appconfig + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Extension_Parameter AWS CloudFormation Resource (AWS::AppConfig::Extension.Parameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html +type Extension_Parameter struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html#cfn-appconfig-extension-parameter-description + Description *string `json:"Description,omitempty"` + + // Required AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html#cfn-appconfig-extension-parameter-required + Required bool `json:"Required"` + + // 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 *Extension_Parameter) AWSCloudFormationType() string { + return "AWS::AppConfig::Extension.Parameter" +} diff --git a/cloudformation/appconfig/aws-appconfig-extensionassociation.go b/cloudformation/appconfig/aws-appconfig-extensionassociation.go new file mode 100644 index 0000000000..3b38870ac4 --- /dev/null +++ b/cloudformation/appconfig/aws-appconfig-extensionassociation.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package appconfig + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// ExtensionAssociation AWS CloudFormation Resource (AWS::AppConfig::ExtensionAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html +type ExtensionAssociation struct { + + // ExtensionIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-extensionidentifier + ExtensionIdentifier *string `json:"ExtensionIdentifier,omitempty"` + + // ExtensionVersionNumber AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-extensionversionnumber + ExtensionVersionNumber *int `json:"ExtensionVersionNumber,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-parameters + Parameters map[string]string `json:"Parameters,omitempty"` + + // ResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-resourceidentifier + ResourceIdentifier *string `json:"ResourceIdentifier,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-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 *ExtensionAssociation) AWSCloudFormationType() string { + return "AWS::AppConfig::ExtensionAssociation" +} + +// 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 ExtensionAssociation) MarshalJSON() ([]byte, error) { + type Properties ExtensionAssociation + 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 *ExtensionAssociation) UnmarshalJSON(b []byte) error { + type Properties ExtensionAssociation + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = ExtensionAssociation(*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/gamelift/aws-gamelift-gameservergroup.go b/cloudformation/gamelift/aws-gamelift-gameservergroup.go index 27e7c530d4..ad0461a68a 100644 --- a/cloudformation/gamelift/aws-gamelift-gameservergroup.go +++ b/cloudformation/gamelift/aws-gamelift-gameservergroup.go @@ -45,9 +45,9 @@ type GameServerGroup struct { InstanceDefinitions []GameServerGroup_InstanceDefinition `json:"InstanceDefinitions"` // LaunchTemplate AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-launchtemplate - LaunchTemplate *GameServerGroup_LaunchTemplate `json:"LaunchTemplate"` + LaunchTemplate *GameServerGroup_LaunchTemplate `json:"LaunchTemplate,omitempty"` // MaxSize AWS CloudFormation Property // Required: false diff --git a/cloudformation/glue/aws-glue-crawler_deltatarget.go b/cloudformation/glue/aws-glue-crawler_deltatarget.go new file mode 100644 index 0000000000..af4cdc0626 --- /dev/null +++ b/cloudformation/glue/aws-glue-crawler_deltatarget.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Crawler_DeltaTarget AWS CloudFormation Resource (AWS::Glue::Crawler.DeltaTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html +type Crawler_DeltaTarget struct { + + // ConnectionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-connectionname + ConnectionName *string `json:"ConnectionName,omitempty"` + + // CreateNativeDeltaTable AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-createnativedeltatable + CreateNativeDeltaTable *bool `json:"CreateNativeDeltaTable,omitempty"` + + // DeltaTables AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-deltatables + DeltaTables []string `json:"DeltaTables,omitempty"` + + // WriteManifest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-writemanifest + WriteManifest *bool `json:"WriteManifest,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 *Crawler_DeltaTarget) AWSCloudFormationType() string { + return "AWS::Glue::Crawler.DeltaTarget" +} diff --git a/cloudformation/glue/aws-glue-crawler_targets.go b/cloudformation/glue/aws-glue-crawler_targets.go index 21c0c2da65..b6f8e16e86 100644 --- a/cloudformation/glue/aws-glue-crawler_targets.go +++ b/cloudformation/glue/aws-glue-crawler_targets.go @@ -15,6 +15,11 @@ type Crawler_Targets struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets CatalogTargets []Crawler_CatalogTarget `json:"CatalogTargets,omitempty"` + // DeltaTargets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-deltatargets + DeltaTargets []Crawler_DeltaTarget `json:"DeltaTargets,omitempty"` + // DynamoDBTargets AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets diff --git a/cloudformation/glue/aws-glue-database_databaseinput.go b/cloudformation/glue/aws-glue-database_databaseinput.go index 344991d840..9b3db6d73c 100644 --- a/cloudformation/glue/aws-glue-database_databaseinput.go +++ b/cloudformation/glue/aws-glue-database_databaseinput.go @@ -20,6 +20,11 @@ type Database_DatabaseInput struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-description Description *string `json:"Description,omitempty"` + // FederatedDatabase AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-federateddatabase + FederatedDatabase *Database_FederatedDatabase `json:"FederatedDatabase,omitempty"` + // LocationUri AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-locationuri diff --git a/cloudformation/glue/aws-glue-database_federateddatabase.go b/cloudformation/glue/aws-glue-database_federateddatabase.go new file mode 100644 index 0000000000..293bf1ebb2 --- /dev/null +++ b/cloudformation/glue/aws-glue-database_federateddatabase.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Database_FederatedDatabase AWS CloudFormation Resource (AWS::Glue::Database.FederatedDatabase) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput-federateddatabase.html +type Database_FederatedDatabase struct { + + // ConnectionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput-federateddatabase.html#cfn-glue-database-databaseinput-federateddatabase-connectionname + ConnectionName *string `json:"ConnectionName,omitempty"` + + // Identifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput-federateddatabase.html#cfn-glue-database-databaseinput-federateddatabase-identifier + Identifier *string `json:"Identifier,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 *Database_FederatedDatabase) AWSCloudFormationType() string { + return "AWS::Glue::Database.FederatedDatabase" +} diff --git a/cloudformation/internetmonitor/aws-internetmonitor-monitor.go b/cloudformation/internetmonitor/aws-internetmonitor-monitor.go index 49982c3f30..e6f92f0fee 100644 --- a/cloudformation/internetmonitor/aws-internetmonitor-monitor.go +++ b/cloudformation/internetmonitor/aws-internetmonitor-monitor.go @@ -14,6 +14,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html type Monitor struct { + // InternetMeasurementsLogDelivery AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html#cfn-internetmonitor-monitor-internetmeasurementslogdelivery + InternetMeasurementsLogDelivery *Monitor_InternetMeasurementsLogDelivery `json:"InternetMeasurementsLogDelivery,omitempty"` + // MaxCityNetworksToMonitor AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html#cfn-internetmonitor-monitor-maxcitynetworkstomonitor diff --git a/cloudformation/internetmonitor/aws-internetmonitor-monitor_internetmeasurementslogdelivery.go b/cloudformation/internetmonitor/aws-internetmonitor-monitor_internetmeasurementslogdelivery.go new file mode 100644 index 0000000000..a627f40632 --- /dev/null +++ b/cloudformation/internetmonitor/aws-internetmonitor-monitor_internetmeasurementslogdelivery.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package internetmonitor + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Monitor_InternetMeasurementsLogDelivery AWS CloudFormation Resource (AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-internetmeasurementslogdelivery.html +type Monitor_InternetMeasurementsLogDelivery struct { + + // S3Config AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-internetmeasurementslogdelivery.html#cfn-internetmonitor-monitor-internetmeasurementslogdelivery-s3config + S3Config *Monitor_S3Config `json:"S3Config,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 *Monitor_InternetMeasurementsLogDelivery) AWSCloudFormationType() string { + return "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" +} diff --git a/cloudformation/internetmonitor/aws-internetmonitor-monitor_s3config.go b/cloudformation/internetmonitor/aws-internetmonitor-monitor_s3config.go new file mode 100644 index 0000000000..12ad321eac --- /dev/null +++ b/cloudformation/internetmonitor/aws-internetmonitor-monitor_s3config.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package internetmonitor + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Monitor_S3Config AWS CloudFormation Resource (AWS::InternetMonitor::Monitor.S3Config) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html +type Monitor_S3Config struct { + + // BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html#cfn-internetmonitor-monitor-s3config-bucketname + BucketName *string `json:"BucketName,omitempty"` + + // BucketPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html#cfn-internetmonitor-monitor-s3config-bucketprefix + BucketPrefix *string `json:"BucketPrefix,omitempty"` + + // LogDeliveryStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-internetmonitor-monitor-s3config.html#cfn-internetmonitor-monitor-s3config-logdeliverystatus + LogDeliveryStatus *string `json:"LogDeliveryStatus,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 *Monitor_S3Config) AWSCloudFormationType() string { + return "AWS::InternetMonitor::Monitor.S3Config" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go index 096a8d8301..4820faaa25 100644 --- a/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings.go @@ -18,6 +18,36 @@ type DataLakeSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-admins Admins *DataLakeSettings_Admins `json:"Admins,omitempty"` + // AllowExternalDataFiltering AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-allowexternaldatafiltering + AllowExternalDataFiltering *bool `json:"AllowExternalDataFiltering,omitempty"` + + // AuthorizedSessionTagValueList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-authorizedsessiontagvaluelist + AuthorizedSessionTagValueList []string `json:"AuthorizedSessionTagValueList,omitempty"` + + // CreateDatabaseDefaultPermissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-createdatabasedefaultpermissions + CreateDatabaseDefaultPermissions *DataLakeSettings_CreateDatabaseDefaultPermissions `json:"CreateDatabaseDefaultPermissions,omitempty"` + + // CreateTableDefaultPermissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-createtabledefaultpermissions + CreateTableDefaultPermissions *DataLakeSettings_CreateTableDefaultPermissions `json:"CreateTableDefaultPermissions,omitempty"` + + // ExternalDataFilteringAllowList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-externaldatafilteringallowlist + ExternalDataFilteringAllowList *DataLakeSettings_ExternalDataFilteringAllowList `json:"ExternalDataFilteringAllowList,omitempty"` + + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-parameters + Parameters interface{} `json:"Parameters,omitempty"` + // TrustedResourceOwners AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-trustedresourceowners diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_createdatabasedefaultpermissions.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_createdatabasedefaultpermissions.go new file mode 100644 index 0000000000..8c7004ea87 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_createdatabasedefaultpermissions.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lakeformation + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataLakeSettings_CreateDatabaseDefaultPermissions AWS CloudFormation Resource (AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-createdatabasedefaultpermissions.html +type DataLakeSettings_CreateDatabaseDefaultPermissions struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataLakeSettings_CreateDatabaseDefaultPermissions) AWSCloudFormationType() string { + return "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_createtabledefaultpermissions.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_createtabledefaultpermissions.go new file mode 100644 index 0000000000..ba1aa00c97 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_createtabledefaultpermissions.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lakeformation + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataLakeSettings_CreateTableDefaultPermissions AWS CloudFormation Resource (AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-createtabledefaultpermissions.html +type DataLakeSettings_CreateTableDefaultPermissions struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataLakeSettings_CreateTableDefaultPermissions) AWSCloudFormationType() string { + return "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_externaldatafilteringallowlist.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_externaldatafilteringallowlist.go new file mode 100644 index 0000000000..0228854425 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_externaldatafilteringallowlist.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lakeformation + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataLakeSettings_ExternalDataFilteringAllowList AWS CloudFormation Resource (AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-externaldatafilteringallowlist.html +type DataLakeSettings_ExternalDataFilteringAllowList struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataLakeSettings_ExternalDataFilteringAllowList) AWSCloudFormationType() string { + return "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_permissions.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_permissions.go new file mode 100644 index 0000000000..4275b0500e --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_permissions.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lakeformation + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataLakeSettings_Permissions AWS CloudFormation Resource (AWS::LakeFormation::DataLakeSettings.Permissions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-permissions.html +type DataLakeSettings_Permissions struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *DataLakeSettings_Permissions) AWSCloudFormationType() string { + return "AWS::LakeFormation::DataLakeSettings.Permissions" +} diff --git a/cloudformation/lakeformation/aws-lakeformation-datalakesettings_principalpermissions.go b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_principalpermissions.go new file mode 100644 index 0000000000..d3ffc11879 --- /dev/null +++ b/cloudformation/lakeformation/aws-lakeformation-datalakesettings_principalpermissions.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lakeformation + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DataLakeSettings_PrincipalPermissions AWS CloudFormation Resource (AWS::LakeFormation::DataLakeSettings.PrincipalPermissions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-principalpermissions.html +type DataLakeSettings_PrincipalPermissions struct { + + // Permissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-principalpermissions.html#cfn-lakeformation-datalakesettings-principalpermissions-permissions + Permissions *DataLakeSettings_Permissions `json:"Permissions,omitempty"` + + // Principal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-principalpermissions.html#cfn-lakeformation-datalakesettings-principalpermissions-principal + Principal *DataLakeSettings_DataLakePrincipal `json:"Principal,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 *DataLakeSettings_PrincipalPermissions) AWSCloudFormationType() string { + return "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions" +} diff --git a/cloudformation/mwaa/aws-mwaa-environment.go b/cloudformation/mwaa/aws-mwaa-environment.go index 1cb82e8afc..255fc0e26f 100644 --- a/cloudformation/mwaa/aws-mwaa-environment.go +++ b/cloudformation/mwaa/aws-mwaa-environment.go @@ -98,6 +98,16 @@ type Environment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-sourcebucketarn SourceBucketArn *string `json:"SourceBucketArn,omitempty"` + // StartupScriptS3ObjectVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-startupscripts3objectversion + StartupScriptS3ObjectVersion *string `json:"StartupScriptS3ObjectVersion,omitempty"` + + // StartupScriptS3Path AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-startupscripts3path + StartupScriptS3Path *string `json:"StartupScriptS3Path,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-tags diff --git a/cloudformation/quicksight/aws-quicksight-refreshschedule.go b/cloudformation/quicksight/aws-quicksight-refreshschedule.go new file mode 100644 index 0000000000..48115418c4 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-refreshschedule.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package quicksight + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RefreshSchedule AWS CloudFormation Resource (AWS::QuickSight::RefreshSchedule) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html +type RefreshSchedule struct { + + // AwsAccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html#cfn-quicksight-refreshschedule-awsaccountid + AwsAccountId *string `json:"AwsAccountId,omitempty"` + + // DataSetId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html#cfn-quicksight-refreshschedule-datasetid + DataSetId *string `json:"DataSetId,omitempty"` + + // Schedule AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html#cfn-quicksight-refreshschedule-schedule + Schedule *RefreshSchedule_RefreshScheduleMap `json:"Schedule,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 *RefreshSchedule) AWSCloudFormationType() string { + return "AWS::QuickSight::RefreshSchedule" +} + +// 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 RefreshSchedule) MarshalJSON() ([]byte, error) { + type Properties RefreshSchedule + 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 *RefreshSchedule) UnmarshalJSON(b []byte) error { + type Properties RefreshSchedule + res := &struct { + Type string + Properties *Properties + DependsOn interface{} + Metadata map[string]interface{} + DeletionPolicy string + UpdateReplacePolicy string + Condition string + }{} + + dec := json.NewDecoder(bytes.NewReader(b)) + dec.DisallowUnknownFields() // Force error if unknown field is found + + if err := dec.Decode(&res); err != nil { + return err + } + + // If the resource has no Properties set, it could be nil + if res.Properties != nil { + *r = RefreshSchedule(*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/quicksight/aws-quicksight-refreshschedule_refreshonday.go b/cloudformation/quicksight/aws-quicksight-refreshschedule_refreshonday.go new file mode 100644 index 0000000000..1f753dc05f --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-refreshschedule_refreshonday.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package quicksight + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RefreshSchedule_RefreshOnDay AWS CloudFormation Resource (AWS::QuickSight::RefreshSchedule.RefreshOnDay) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshonday.html +type RefreshSchedule_RefreshOnDay struct { + + // DayOfMonth AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshonday.html#cfn-quicksight-refreshschedule-refreshonday-dayofmonth + DayOfMonth *string `json:"DayOfMonth,omitempty"` + + // DayOfWeek AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshonday.html#cfn-quicksight-refreshschedule-refreshonday-dayofweek + DayOfWeek *string `json:"DayOfWeek,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 *RefreshSchedule_RefreshOnDay) AWSCloudFormationType() string { + return "AWS::QuickSight::RefreshSchedule.RefreshOnDay" +} diff --git a/cloudformation/quicksight/aws-quicksight-refreshschedule_refreshschedulemap.go b/cloudformation/quicksight/aws-quicksight-refreshschedule_refreshschedulemap.go new file mode 100644 index 0000000000..1a59733140 --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-refreshschedule_refreshschedulemap.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package quicksight + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RefreshSchedule_RefreshScheduleMap AWS CloudFormation Resource (AWS::QuickSight::RefreshSchedule.RefreshScheduleMap) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshschedulemap.html +type RefreshSchedule_RefreshScheduleMap struct { + + // RefreshType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshschedulemap.html#cfn-quicksight-refreshschedule-refreshschedulemap-refreshtype + RefreshType *string `json:"RefreshType,omitempty"` + + // ScheduleFrequency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshschedulemap.html#cfn-quicksight-refreshschedule-refreshschedulemap-schedulefrequency + ScheduleFrequency *RefreshSchedule_ScheduleFrequency `json:"ScheduleFrequency,omitempty"` + + // ScheduleId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshschedulemap.html#cfn-quicksight-refreshschedule-refreshschedulemap-scheduleid + ScheduleId *string `json:"ScheduleId,omitempty"` + + // StartAfterDateTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-refreshschedulemap.html#cfn-quicksight-refreshschedule-refreshschedulemap-startafterdatetime + StartAfterDateTime *string `json:"StartAfterDateTime,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 *RefreshSchedule_RefreshScheduleMap) AWSCloudFormationType() string { + return "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" +} diff --git a/cloudformation/quicksight/aws-quicksight-refreshschedule_schedulefrequency.go b/cloudformation/quicksight/aws-quicksight-refreshschedule_schedulefrequency.go new file mode 100644 index 0000000000..767547805c --- /dev/null +++ b/cloudformation/quicksight/aws-quicksight-refreshschedule_schedulefrequency.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package quicksight + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RefreshSchedule_ScheduleFrequency AWS CloudFormation Resource (AWS::QuickSight::RefreshSchedule.ScheduleFrequency) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-schedulefrequency.html +type RefreshSchedule_ScheduleFrequency struct { + + // Interval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-schedulefrequency.html#cfn-quicksight-refreshschedule-schedulefrequency-interval + Interval *string `json:"Interval,omitempty"` + + // RefreshOnDay AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-schedulefrequency.html#cfn-quicksight-refreshschedule-schedulefrequency-refreshonday + RefreshOnDay *RefreshSchedule_RefreshOnDay `json:"RefreshOnDay,omitempty"` + + // TimeOfTheDay AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-schedulefrequency.html#cfn-quicksight-refreshschedule-schedulefrequency-timeoftheday + TimeOfTheDay *string `json:"TimeOfTheDay,omitempty"` + + // TimeZone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-refreshschedule-schedulefrequency.html#cfn-quicksight-refreshschedule-schedulefrequency-timezone + TimeZone *string `json:"TimeZone,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 *RefreshSchedule_ScheduleFrequency) AWSCloudFormationType() string { + return "AWS::QuickSight::RefreshSchedule.ScheduleFrequency" +} diff --git a/cloudformation/rds/aws-rds-dbinstance.go b/cloudformation/rds/aws-rds-dbinstance.go index 6e490e9b77..886565dd64 100644 --- a/cloudformation/rds/aws-rds-dbinstance.go +++ b/cloudformation/rds/aws-rds-dbinstance.go @@ -289,6 +289,11 @@ type DBInstance struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-restoretime RestoreTime *string `json:"RestoreTime,omitempty"` + // SourceDBClusterIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourcedbclusteridentifier + SourceDBClusterIdentifier *string `json:"SourceDBClusterIdentifier,omitempty"` + // SourceDBInstanceAutomatedBackupsArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourcedbinstanceautomatedbackupsarn diff --git a/schema/cdk.go b/schema/cdk.go index 391f0895b2..707974446f 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -7218,6 +7218,193 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::AppConfig::Extension": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Extension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExtensionIdentifier": { + "type": "string" + }, + "ExtensionVersionNumber": { + "type": "number" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExtensionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { @@ -68556,7 +68743,6 @@ var CdkSchema = `{ "required": [ "GameServerGroupName", "InstanceDefinitions", - "LaunchTemplate", "RoleArn" ], "type": "object" @@ -69873,6 +70059,27 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.DeltaTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "CreateNativeDeltaTable": { + "type": "boolean" + }, + "DeltaTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WriteManifest": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { @@ -69978,6 +70185,12 @@ var CdkSchema = `{ }, "type": "array" }, + "DeltaTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DeltaTarget" + }, + "type": "array" + }, "DynamoDBTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" @@ -70212,6 +70425,9 @@ var CdkSchema = `{ "Description": { "type": "string" }, + "FederatedDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.FederatedDatabase" + }, "LocationUri": { "type": "string" }, @@ -70227,6 +70443,18 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Glue::Database.FederatedDatabase": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Identifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.PrincipalPrivileges": { "additionalProperties": false, "properties": { @@ -79951,6 +80179,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" + }, "MaxCityNetworksToMonitor": { "type": "number" }, @@ -80011,6 +80242,30 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "LogDeliveryStatus": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { @@ -95661,6 +95916,27 @@ var CdkSchema = `{ "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, + "AllowExternalDataFiltering": { + "type": "boolean" + }, + "AuthorizedSessionTagValueList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CreateDatabaseDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" + }, + "CreateTableDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" + }, + "ExternalDataFilteringAllowList": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" + }, + "Parameters": { + "type": "object" + }, "TrustedResourceOwners": { "items": { "type": "string" @@ -95695,6 +95971,16 @@ var CdkSchema = `{ "properties": {}, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -95704,6 +95990,28 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Permissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions": { + "additionalProperties": false, + "properties": { + "Permissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Permissions" + }, + "Principal": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { @@ -104747,6 +105055,12 @@ var CdkSchema = `{ "SourceBucketArn": { "type": "string" }, + "StartupScriptS3ObjectVersion": { + "type": "string" + }, + "StartupScriptS3Path": { + "type": "string" + }, "Tags": { "type": "object" }, @@ -141927,6 +142241,121 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::QuickSight::RefreshSchedule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DataSetId": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency" + }, + "ScheduleId": { + "type": "string" + }, + "StartAfterDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay" + }, + "TimeOfTheDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { @@ -151478,6 +151907,9 @@ var CdkSchema = `{ "RestoreTime": { "type": "string" }, + "SourceDBClusterIdentifier": { + "type": "string" + }, "SourceDBInstanceAutomatedBackupsArn": { "type": "string" }, @@ -185092,6 +185524,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::Extension" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ExtensionAssociation" + }, { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, @@ -187324,6 +187762,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, + { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" + }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 7fc431f3ec..afd5ec0682 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -7213,6 +7213,193 @@ }, "type": "object" }, + "AWS::AppConfig::Extension": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Extension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExtensionIdentifier": { + "type": "string" + }, + "ExtensionVersionNumber": { + "type": "number" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExtensionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { @@ -68551,7 +68738,6 @@ "required": [ "GameServerGroupName", "InstanceDefinitions", - "LaunchTemplate", "RoleArn" ], "type": "object" @@ -69868,6 +70054,27 @@ }, "type": "object" }, + "AWS::Glue::Crawler.DeltaTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "CreateNativeDeltaTable": { + "type": "boolean" + }, + "DeltaTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WriteManifest": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { @@ -69973,6 +70180,12 @@ }, "type": "array" }, + "DeltaTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DeltaTarget" + }, + "type": "array" + }, "DynamoDBTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" @@ -70207,6 +70420,9 @@ "Description": { "type": "string" }, + "FederatedDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.FederatedDatabase" + }, "LocationUri": { "type": "string" }, @@ -70222,6 +70438,18 @@ }, "type": "object" }, + "AWS::Glue::Database.FederatedDatabase": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Identifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.PrincipalPrivileges": { "additionalProperties": false, "properties": { @@ -79946,6 +80174,9 @@ "Properties": { "additionalProperties": false, "properties": { + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" + }, "MaxCityNetworksToMonitor": { "type": "number" }, @@ -80006,6 +80237,30 @@ ], "type": "object" }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "LogDeliveryStatus": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { @@ -95656,6 +95911,27 @@ "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, + "AllowExternalDataFiltering": { + "type": "boolean" + }, + "AuthorizedSessionTagValueList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CreateDatabaseDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" + }, + "CreateTableDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" + }, + "ExternalDataFilteringAllowList": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" + }, + "Parameters": { + "type": "object" + }, "TrustedResourceOwners": { "items": { "type": "string" @@ -95690,6 +95966,16 @@ "properties": {}, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -95699,6 +95985,28 @@ }, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Permissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions": { + "additionalProperties": false, + "properties": { + "Permissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Permissions" + }, + "Principal": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { @@ -104742,6 +105050,12 @@ "SourceBucketArn": { "type": "string" }, + "StartupScriptS3ObjectVersion": { + "type": "string" + }, + "StartupScriptS3Path": { + "type": "string" + }, "Tags": { "type": "object" }, @@ -141922,6 +142236,121 @@ ], "type": "object" }, + "AWS::QuickSight::RefreshSchedule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DataSetId": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency" + }, + "ScheduleId": { + "type": "string" + }, + "StartAfterDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay" + }, + "TimeOfTheDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { @@ -151473,6 +151902,9 @@ "RestoreTime": { "type": "string" }, + "SourceDBClusterIdentifier": { + "type": "string" + }, "SourceDBInstanceAutomatedBackupsArn": { "type": "string" }, @@ -185087,6 +185519,12 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::Extension" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ExtensionAssociation" + }, { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, @@ -187319,6 +187757,9 @@ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, + { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" + }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 139c4191cb..e07b21a60b 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -7218,6 +7218,193 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AppConfig::Extension": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Extension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExtensionIdentifier": { + "type": "string" + }, + "ExtensionVersionNumber": { + "type": "number" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExtensionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { @@ -68495,7 +68682,6 @@ var CloudformationSchema = `{ "required": [ "GameServerGroupName", "InstanceDefinitions", - "LaunchTemplate", "RoleArn" ], "type": "object" @@ -69812,6 +69998,27 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.DeltaTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "CreateNativeDeltaTable": { + "type": "boolean" + }, + "DeltaTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WriteManifest": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { @@ -69917,6 +70124,12 @@ var CloudformationSchema = `{ }, "type": "array" }, + "DeltaTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DeltaTarget" + }, + "type": "array" + }, "DynamoDBTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" @@ -70151,6 +70364,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "FederatedDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.FederatedDatabase" + }, "LocationUri": { "type": "string" }, @@ -70166,6 +70382,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::Database.FederatedDatabase": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Identifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.PrincipalPrivileges": { "additionalProperties": false, "properties": { @@ -79890,6 +80118,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" + }, "MaxCityNetworksToMonitor": { "type": "number" }, @@ -79950,6 +80181,30 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "LogDeliveryStatus": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { @@ -95600,6 +95855,27 @@ var CloudformationSchema = `{ "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, + "AllowExternalDataFiltering": { + "type": "boolean" + }, + "AuthorizedSessionTagValueList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CreateDatabaseDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" + }, + "CreateTableDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" + }, + "ExternalDataFilteringAllowList": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" + }, + "Parameters": { + "type": "object" + }, "TrustedResourceOwners": { "items": { "type": "string" @@ -95634,6 +95910,16 @@ var CloudformationSchema = `{ "properties": {}, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -95643,6 +95929,28 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Permissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions": { + "additionalProperties": false, + "properties": { + "Permissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Permissions" + }, + "Principal": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { @@ -104686,6 +104994,12 @@ var CloudformationSchema = `{ "SourceBucketArn": { "type": "string" }, + "StartupScriptS3ObjectVersion": { + "type": "string" + }, + "StartupScriptS3Path": { + "type": "string" + }, "Tags": { "type": "object" }, @@ -141866,6 +142180,121 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::QuickSight::RefreshSchedule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DataSetId": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency" + }, + "ScheduleId": { + "type": "string" + }, + "StartAfterDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay" + }, + "TimeOfTheDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { @@ -151417,6 +151846,9 @@ var CloudformationSchema = `{ "RestoreTime": { "type": "string" }, + "SourceDBClusterIdentifier": { + "type": "string" + }, "SourceDBInstanceAutomatedBackupsArn": { "type": "string" }, @@ -185031,6 +185463,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::Extension" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ExtensionAssociation" + }, { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, @@ -187260,6 +187698,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, + { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" + }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 7c2ed6b0d1..8b0ae3a90a 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -7213,6 +7213,193 @@ }, "type": "object" }, + "AWS::AppConfig::Extension": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Extension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExtensionIdentifier": { + "type": "string" + }, + "ExtensionVersionNumber": { + "type": "number" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExtensionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { @@ -68490,7 +68677,6 @@ "required": [ "GameServerGroupName", "InstanceDefinitions", - "LaunchTemplate", "RoleArn" ], "type": "object" @@ -69807,6 +69993,27 @@ }, "type": "object" }, + "AWS::Glue::Crawler.DeltaTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "CreateNativeDeltaTable": { + "type": "boolean" + }, + "DeltaTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WriteManifest": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { @@ -69912,6 +70119,12 @@ }, "type": "array" }, + "DeltaTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DeltaTarget" + }, + "type": "array" + }, "DynamoDBTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" @@ -70146,6 +70359,9 @@ "Description": { "type": "string" }, + "FederatedDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.FederatedDatabase" + }, "LocationUri": { "type": "string" }, @@ -70161,6 +70377,18 @@ }, "type": "object" }, + "AWS::Glue::Database.FederatedDatabase": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Identifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.PrincipalPrivileges": { "additionalProperties": false, "properties": { @@ -79885,6 +80113,9 @@ "Properties": { "additionalProperties": false, "properties": { + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" + }, "MaxCityNetworksToMonitor": { "type": "number" }, @@ -79945,6 +80176,30 @@ ], "type": "object" }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "LogDeliveryStatus": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { @@ -95595,6 +95850,27 @@ "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, + "AllowExternalDataFiltering": { + "type": "boolean" + }, + "AuthorizedSessionTagValueList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CreateDatabaseDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" + }, + "CreateTableDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" + }, + "ExternalDataFilteringAllowList": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" + }, + "Parameters": { + "type": "object" + }, "TrustedResourceOwners": { "items": { "type": "string" @@ -95629,6 +95905,16 @@ "properties": {}, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -95638,6 +95924,28 @@ }, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Permissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions": { + "additionalProperties": false, + "properties": { + "Permissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Permissions" + }, + "Principal": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { @@ -104681,6 +104989,12 @@ "SourceBucketArn": { "type": "string" }, + "StartupScriptS3ObjectVersion": { + "type": "string" + }, + "StartupScriptS3Path": { + "type": "string" + }, "Tags": { "type": "object" }, @@ -141861,6 +142175,121 @@ ], "type": "object" }, + "AWS::QuickSight::RefreshSchedule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DataSetId": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency" + }, + "ScheduleId": { + "type": "string" + }, + "StartAfterDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay" + }, + "TimeOfTheDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { @@ -151412,6 +151841,9 @@ "RestoreTime": { "type": "string" }, + "SourceDBClusterIdentifier": { + "type": "string" + }, "SourceDBInstanceAutomatedBackupsArn": { "type": "string" }, @@ -185026,6 +185458,12 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::Extension" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ExtensionAssociation" + }, { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, @@ -187255,6 +187693,9 @@ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, + { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" + }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, diff --git a/schema/sam.go b/schema/sam.go index b825aa7117..38723ced43 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -7218,6 +7218,193 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AppConfig::Extension": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Extension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExtensionIdentifier": { + "type": "string" + }, + "ExtensionVersionNumber": { + "type": "number" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExtensionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { @@ -68495,7 +68682,6 @@ var SamSchema = `{ "required": [ "GameServerGroupName", "InstanceDefinitions", - "LaunchTemplate", "RoleArn" ], "type": "object" @@ -69812,6 +69998,27 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::Crawler.DeltaTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "CreateNativeDeltaTable": { + "type": "boolean" + }, + "DeltaTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WriteManifest": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { @@ -69917,6 +70124,12 @@ var SamSchema = `{ }, "type": "array" }, + "DeltaTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DeltaTarget" + }, + "type": "array" + }, "DynamoDBTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" @@ -70151,6 +70364,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "FederatedDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.FederatedDatabase" + }, "LocationUri": { "type": "string" }, @@ -70166,6 +70382,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::Database.FederatedDatabase": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Identifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.PrincipalPrivileges": { "additionalProperties": false, "properties": { @@ -79890,6 +80118,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" + }, "MaxCityNetworksToMonitor": { "type": "number" }, @@ -79950,6 +80181,30 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "LogDeliveryStatus": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { @@ -95600,6 +95855,27 @@ var SamSchema = `{ "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, + "AllowExternalDataFiltering": { + "type": "boolean" + }, + "AuthorizedSessionTagValueList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CreateDatabaseDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" + }, + "CreateTableDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" + }, + "ExternalDataFilteringAllowList": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" + }, + "Parameters": { + "type": "object" + }, "TrustedResourceOwners": { "items": { "type": "string" @@ -95634,6 +95910,16 @@ var SamSchema = `{ "properties": {}, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -95643,6 +95929,28 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Permissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions": { + "additionalProperties": false, + "properties": { + "Permissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Permissions" + }, + "Principal": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { @@ -104686,6 +104994,12 @@ var SamSchema = `{ "SourceBucketArn": { "type": "string" }, + "StartupScriptS3ObjectVersion": { + "type": "string" + }, + "StartupScriptS3Path": { + "type": "string" + }, "Tags": { "type": "object" }, @@ -141866,6 +142180,121 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::QuickSight::RefreshSchedule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DataSetId": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency" + }, + "ScheduleId": { + "type": "string" + }, + "StartAfterDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay" + }, + "TimeOfTheDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { @@ -151417,6 +151846,9 @@ var SamSchema = `{ "RestoreTime": { "type": "string" }, + "SourceDBClusterIdentifier": { + "type": "string" + }, "SourceDBInstanceAutomatedBackupsArn": { "type": "string" }, @@ -188038,6 +188470,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::Extension" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ExtensionAssociation" + }, { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, @@ -190267,6 +190705,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, + { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" + }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index a9449e58e2..e3678ecacc 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -7213,6 +7213,193 @@ }, "type": "object" }, + "AWS::AppConfig::Extension": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Extension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExtensionIdentifier": { + "type": "string" + }, + "ExtensionVersionNumber": { + "type": "number" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ExtensionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { @@ -68490,7 +68677,6 @@ "required": [ "GameServerGroupName", "InstanceDefinitions", - "LaunchTemplate", "RoleArn" ], "type": "object" @@ -69807,6 +69993,27 @@ }, "type": "object" }, + "AWS::Glue::Crawler.DeltaTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "CreateNativeDeltaTable": { + "type": "boolean" + }, + "DeltaTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WriteManifest": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::Glue::Crawler.DynamoDBTarget": { "additionalProperties": false, "properties": { @@ -69912,6 +70119,12 @@ }, "type": "array" }, + "DeltaTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DeltaTarget" + }, + "type": "array" + }, "DynamoDBTargets": { "items": { "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" @@ -70146,6 +70359,9 @@ "Description": { "type": "string" }, + "FederatedDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.FederatedDatabase" + }, "LocationUri": { "type": "string" }, @@ -70161,6 +70377,18 @@ }, "type": "object" }, + "AWS::Glue::Database.FederatedDatabase": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Identifier": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Glue::Database.PrincipalPrivileges": { "additionalProperties": false, "properties": { @@ -79885,6 +80113,9 @@ "Properties": { "additionalProperties": false, "properties": { + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery" + }, "MaxCityNetworksToMonitor": { "type": "number" }, @@ -79945,6 +80176,30 @@ ], "type": "object" }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "LogDeliveryStatus": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoT1Click::Device": { "additionalProperties": false, "properties": { @@ -95595,6 +95850,27 @@ "Admins": { "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" }, + "AllowExternalDataFiltering": { + "type": "boolean" + }, + "AuthorizedSessionTagValueList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CreateDatabaseDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions" + }, + "CreateTableDefaultPermissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions" + }, + "ExternalDataFilteringAllowList": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList" + }, + "Parameters": { + "type": "object" + }, "TrustedResourceOwners": { "items": { "type": "string" @@ -95629,6 +95905,16 @@ "properties": {}, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.CreateDatabaseDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.CreateTableDefaultPermissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { "additionalProperties": false, "properties": { @@ -95638,6 +95924,28 @@ }, "type": "object" }, + "AWS::LakeFormation::DataLakeSettings.ExternalDataFilteringAllowList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Permissions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.PrincipalPermissions": { + "additionalProperties": false, + "properties": { + "Permissions": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Permissions" + }, + "Principal": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.DataLakePrincipal" + } + }, + "type": "object" + }, "AWS::LakeFormation::Permissions": { "additionalProperties": false, "properties": { @@ -104681,6 +104989,12 @@ "SourceBucketArn": { "type": "string" }, + "StartupScriptS3ObjectVersion": { + "type": "string" + }, + "StartupScriptS3Path": { + "type": "string" + }, "Tags": { "type": "object" }, @@ -141861,6 +142175,121 @@ ], "type": "object" }, + "AWS::QuickSight::RefreshSchedule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DataSetId": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency" + }, + "ScheduleId": { + "type": "string" + }, + "StartAfterDateTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay" + }, + "TimeOfTheDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { @@ -151412,6 +151841,9 @@ "RestoreTime": { "type": "string" }, + "SourceDBClusterIdentifier": { + "type": "string" + }, "SourceDBInstanceAutomatedBackupsArn": { "type": "string" }, @@ -188033,6 +188465,12 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, + { + "$ref": "#/definitions/AWS::AppConfig::Extension" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ExtensionAssociation" + }, { "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" }, @@ -190262,6 +190700,9 @@ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, + { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" + }, { "$ref": "#/definitions/AWS::QuickSight::Template" },