diff --git a/cloudformation/all.go b/cloudformation/all.go index bbbd3dffd8..47bb16d35f 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -671,6 +671,7 @@ func AllResources() map[string]Resource { "AWS::FraudDetector::EntityType": &frauddetector.EntityType{}, "AWS::FraudDetector::EventType": &frauddetector.EventType{}, "AWS::FraudDetector::Label": &frauddetector.Label{}, + "AWS::FraudDetector::List": &frauddetector.List{}, "AWS::FraudDetector::Outcome": &frauddetector.Outcome{}, "AWS::FraudDetector::Variable": &frauddetector.Variable{}, "AWS::GameLift::Alias": &gamelift.Alias{}, @@ -1029,6 +1030,7 @@ func AllResources() map[string]Resource { "AWS::QuickSight::RefreshSchedule": &quicksight.RefreshSchedule{}, "AWS::QuickSight::Template": &quicksight.Template{}, "AWS::QuickSight::Theme": &quicksight.Theme{}, + "AWS::RAM::Permission": &ram.Permission{}, "AWS::RAM::ResourceShare": &ram.ResourceShare{}, "AWS::RDS::DBCluster": &rds.DBCluster{}, "AWS::RDS::DBClusterParameterGroup": &rds.DBClusterParameterGroup{}, @@ -11943,6 +11945,30 @@ func (t *Template) GetFraudDetectorLabelWithName(name string) (*frauddetector.La return nil, fmt.Errorf("resource %q of type frauddetector.Label not found", name) } +// GetAllFraudDetectorListResources retrieves all frauddetector.List items from an AWS CloudFormation template +func (t *Template) GetAllFraudDetectorListResources() map[string]*frauddetector.List { + results := map[string]*frauddetector.List{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *frauddetector.List: + results[name] = resource + } + } + return results +} + +// GetFraudDetectorListWithName retrieves all frauddetector.List items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetFraudDetectorListWithName(name string) (*frauddetector.List, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *frauddetector.List: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type frauddetector.List not found", name) +} + // GetAllFraudDetectorOutcomeResources retrieves all frauddetector.Outcome items from an AWS CloudFormation template func (t *Template) GetAllFraudDetectorOutcomeResources() map[string]*frauddetector.Outcome { results := map[string]*frauddetector.Outcome{} @@ -20535,6 +20561,30 @@ func (t *Template) GetQuickSightThemeWithName(name string) (*quicksight.Theme, e return nil, fmt.Errorf("resource %q of type quicksight.Theme not found", name) } +// GetAllRAMPermissionResources retrieves all ram.Permission items from an AWS CloudFormation template +func (t *Template) GetAllRAMPermissionResources() map[string]*ram.Permission { + results := map[string]*ram.Permission{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ram.Permission: + results[name] = resource + } + } + return results +} + +// GetRAMPermissionWithName retrieves all ram.Permission items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetRAMPermissionWithName(name string) (*ram.Permission, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ram.Permission: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ram.Permission not found", name) +} + // GetAllRAMResourceShareResources retrieves all ram.ResourceShare items from an AWS CloudFormation template func (t *Template) GetAllRAMResourceShareResources() map[string]*ram.ResourceShare { results := map[string]*ram.ResourceShare{} diff --git a/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go b/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go index 4d569918d4..e4743cf197 100644 --- a/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_postgresqlsettings.go @@ -50,6 +50,11 @@ type Endpoint_PostgreSqlSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html#cfn-dms-endpoint-postgresqlsettings-heartbeatschema HeartbeatSchema *string `json:"HeartbeatSchema,omitempty"` + // MapBooleanAsBoolean AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html#cfn-dms-endpoint-postgresqlsettings-mapbooleanasboolean + MapBooleanAsBoolean *bool `json:"MapBooleanAsBoolean,omitempty"` + // MaxFileSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-postgresqlsettings.html#cfn-dms-endpoint-postgresqlsettings-maxfilesize diff --git a/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go b/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go index 95a9713f24..7c8cb62676 100644 --- a/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go +++ b/cloudformation/dms/aws-dms-endpoint_redshiftsettings.go @@ -75,6 +75,11 @@ type Endpoint_RedshiftSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-loadtimeout LoadTimeout *int `json:"LoadTimeout,omitempty"` + // MapBooleanAsBoolean AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-mapbooleanasboolean + MapBooleanAsBoolean *bool `json:"MapBooleanAsBoolean,omitempty"` + // MaxFileSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-redshiftsettings.html#cfn-dms-endpoint-redshiftsettings-maxfilesize diff --git a/cloudformation/frauddetector/aws-frauddetector-list.go b/cloudformation/frauddetector/aws-frauddetector-list.go new file mode 100644 index 0000000000..f36d6f28e8 --- /dev/null +++ b/cloudformation/frauddetector/aws-frauddetector-list.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package frauddetector + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// List AWS CloudFormation Resource (AWS::FraudDetector::List) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html +type List struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html#cfn-frauddetector-list-description + Description *string `json:"Description,omitempty"` + + // Elements AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html#cfn-frauddetector-list-elements + Elements []string `json:"Elements,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html#cfn-frauddetector-list-name + Name string `json:"Name"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html#cfn-frauddetector-list-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VariableType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html#cfn-frauddetector-list-variabletype + VariableType *string `json:"VariableType,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 *List) AWSCloudFormationType() string { + return "AWS::FraudDetector::List" +} + +// 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 List) MarshalJSON() ([]byte, error) { + type Properties List + 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 *List) UnmarshalJSON(b []byte) error { + type Properties List + 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 = List(*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/grafana/aws-grafana-workspace.go b/cloudformation/grafana/aws-grafana-workspace.go index 22b4fc1bed..79e013e963 100644 --- a/cloudformation/grafana/aws-grafana-workspace.go +++ b/cloudformation/grafana/aws-grafana-workspace.go @@ -43,6 +43,11 @@ type Workspace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html#cfn-grafana-workspace-name Name *string `json:"Name,omitempty"` + // NetworkAccessControl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html#cfn-grafana-workspace-networkaccesscontrol + NetworkAccessControl *Workspace_NetworkAccessControl `json:"NetworkAccessControl,omitempty"` + // NotificationDestinations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html#cfn-grafana-workspace-notificationdestinations diff --git a/cloudformation/grafana/aws-grafana-workspace_networkaccesscontrol.go b/cloudformation/grafana/aws-grafana-workspace_networkaccesscontrol.go new file mode 100644 index 0000000000..943946f957 --- /dev/null +++ b/cloudformation/grafana/aws-grafana-workspace_networkaccesscontrol.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package grafana + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Workspace_NetworkAccessControl AWS CloudFormation Resource (AWS::Grafana::Workspace.NetworkAccessControl) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-grafana-workspace-networkaccesscontrol.html +type Workspace_NetworkAccessControl struct { + + // PrefixListIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-grafana-workspace-networkaccesscontrol.html#cfn-grafana-workspace-networkaccesscontrol-prefixlistids + PrefixListIds []string `json:"PrefixListIds,omitempty"` + + // VpceIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-grafana-workspace-networkaccesscontrol.html#cfn-grafana-workspace-networkaccesscontrol-vpceids + VpceIds []string `json:"VpceIds,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 *Workspace_NetworkAccessControl) AWSCloudFormationType() string { + return "AWS::Grafana::Workspace.NetworkAccessControl" +} diff --git a/cloudformation/internetmonitor/aws-internetmonitor-monitor.go b/cloudformation/internetmonitor/aws-internetmonitor-monitor.go index e6f92f0fee..bd99a1ab06 100644 --- a/cloudformation/internetmonitor/aws-internetmonitor-monitor.go +++ b/cloudformation/internetmonitor/aws-internetmonitor-monitor.go @@ -54,6 +54,11 @@ type Monitor struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html#cfn-internetmonitor-monitor-tags Tags []tags.Tag `json:"Tags,omitempty"` + // TrafficPercentageToMonitor AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html#cfn-internetmonitor-monitor-trafficpercentagetomonitor + TrafficPercentageToMonitor *int `json:"TrafficPercentageToMonitor,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/iottwinmaker/aws-iottwinmaker-scene.go b/cloudformation/iottwinmaker/aws-iottwinmaker-scene.go index 8c81877cb3..fee1d8b380 100644 --- a/cloudformation/iottwinmaker/aws-iottwinmaker-scene.go +++ b/cloudformation/iottwinmaker/aws-iottwinmaker-scene.go @@ -33,6 +33,11 @@ type Scene struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html#cfn-iottwinmaker-scene-sceneid SceneId string `json:"SceneId"` + // SceneMetadata AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html#cfn-iottwinmaker-scene-scenemetadata + SceneMetadata map[string]string `json:"SceneMetadata,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html#cfn-iottwinmaker-scene-tags diff --git a/cloudformation/ivs/aws-ivs-channel.go b/cloudformation/ivs/aws-ivs-channel.go index 3501758511..5d2dbd8b90 100644 --- a/cloudformation/ivs/aws-ivs-channel.go +++ b/cloudformation/ivs/aws-ivs-channel.go @@ -19,6 +19,11 @@ type Channel struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-authorized Authorized *bool `json:"Authorized,omitempty"` + // InsecureIngest AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-insecureingest + InsecureIngest *bool `json:"InsecureIngest,omitempty"` + // LatencyMode AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html#cfn-ivs-channel-latencymode diff --git a/cloudformation/memorydb/aws-memorydb-user.go b/cloudformation/memorydb/aws-memorydb-user.go index 1ed909698d..ca113b566f 100644 --- a/cloudformation/memorydb/aws-memorydb-user.go +++ b/cloudformation/memorydb/aws-memorydb-user.go @@ -15,14 +15,14 @@ import ( type User struct { // AccessString AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html#cfn-memorydb-user-accessstring - AccessString string `json:"AccessString"` + AccessString *string `json:"AccessString,omitempty"` // AuthenticationMode AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html#cfn-memorydb-user-authenticationmode - AuthenticationMode *User_AuthenticationMode `json:"AuthenticationMode"` + AuthenticationMode *User_AuthenticationMode `json:"AuthenticationMode,omitempty"` // Tags AWS CloudFormation Property // Required: false diff --git a/cloudformation/ram/aws-ram-permission.go b/cloudformation/ram/aws-ram-permission.go new file mode 100644 index 0000000000..b293d33492 --- /dev/null +++ b/cloudformation/ram/aws-ram-permission.go @@ -0,0 +1,133 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ram + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Permission AWS CloudFormation Resource (AWS::RAM::Permission) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html +type Permission struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-name + Name string `json:"Name"` + + // PolicyTemplate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-policytemplate + PolicyTemplate interface{} `json:"PolicyTemplate"` + + // ResourceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-resourcetype + ResourceType string `json:"ResourceType"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-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 *Permission) AWSCloudFormationType() string { + return "AWS::RAM::Permission" +} + +// 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 Permission) MarshalJSON() ([]byte, error) { + type Properties Permission + 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 *Permission) UnmarshalJSON(b []byte) error { + type Properties Permission + 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 = Permission(*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/sagemaker/aws-sagemaker-endpointconfig_asyncinferencenotificationconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferencenotificationconfig.go index 9376d000f4..5dc2c0d565 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferencenotificationconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferencenotificationconfig.go @@ -15,6 +15,11 @@ type EndpointConfig_AsyncInferenceNotificationConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig.html#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-errortopic ErrorTopic *string `json:"ErrorTopic,omitempty"` + // IncludeInferenceResponseIn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig.html#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-includeinferenceresponsein + IncludeInferenceResponseIn []string `json:"IncludeInferenceResponseIn,omitempty"` + // SuccessTopic AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-asyncinferencenotificationconfig.html#cfn-sagemaker-endpointconfig-asyncinferencenotificationconfig-successtopic diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferenceoutputconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferenceoutputconfig.go index 672365eec4..e0f344b7a4 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferenceoutputconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_asyncinferenceoutputconfig.go @@ -20,10 +20,15 @@ type EndpointConfig_AsyncInferenceOutputConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig.html#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-notificationconfig NotificationConfig *EndpointConfig_AsyncInferenceNotificationConfig `json:"NotificationConfig,omitempty"` + // S3FailurePath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig.html#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3failurepath + S3FailurePath *string `json:"S3FailurePath,omitempty"` + // S3OutputPath AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-asyncinferenceoutputconfig.html#cfn-sagemaker-endpointconfig-asyncinferenceoutputconfig-s3outputpath - S3OutputPath string `json:"S3OutputPath"` + S3OutputPath *string `json:"S3OutputPath,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ssmcontacts/aws-ssmcontacts-contact_stage.go b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_stage.go index 58e7a86ecb..1b2bdf0444 100644 --- a/cloudformation/ssmcontacts/aws-ssmcontacts-contact_stage.go +++ b/cloudformation/ssmcontacts/aws-ssmcontacts-contact_stage.go @@ -11,9 +11,14 @@ import ( type Contact_Stage struct { // DurationInMinutes AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-stage.html#cfn-ssmcontacts-contact-stage-durationinminutes - DurationInMinutes int `json:"DurationInMinutes"` + DurationInMinutes *int `json:"DurationInMinutes,omitempty"` + + // RotationIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmcontacts-contact-stage.html#cfn-ssmcontacts-contact-stage-rotationids + RotationIds []string `json:"RotationIds,omitempty"` // Targets AWS CloudFormation Property // Required: false diff --git a/cloudformation/xray/aws-xray-group.go b/cloudformation/xray/aws-xray-group.go index e770a6703b..187878638f 100644 --- a/cloudformation/xray/aws-xray-group.go +++ b/cloudformation/xray/aws-xray-group.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" ) // Group AWS CloudFormation Resource (AWS::XRay::Group) @@ -31,7 +32,7 @@ type Group struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html#cfn-xray-group-tags - Tags []Group_TagsItems `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/xray/aws-xray-samplingrule.go b/cloudformation/xray/aws-xray-samplingrule.go index 07653ffdb8..789e92ba17 100644 --- a/cloudformation/xray/aws-xray-samplingrule.go +++ b/cloudformation/xray/aws-xray-samplingrule.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" ) // SamplingRule AWS CloudFormation Resource (AWS::XRay::SamplingRule) @@ -23,20 +24,10 @@ type SamplingRule struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-samplingrule SamplingRule *SamplingRule_SamplingRule `json:"SamplingRule,omitempty"` - // SamplingRuleRecord AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-samplingrulerecord - SamplingRuleRecord *SamplingRule_SamplingRuleRecord `json:"SamplingRuleRecord,omitempty"` - - // SamplingRuleUpdate AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-samplingruleupdate - SamplingRuleUpdate *SamplingRule_SamplingRuleUpdate `json:"SamplingRuleUpdate,omitempty"` - // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html#cfn-xray-samplingrule-tags - Tags []SamplingRule_TagsItems `json:"Tags,omitempty"` + Tags []tags.Tag `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/schema/cdk.go b/schema/cdk.go index 707974446f..29d41cedec 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -37839,6 +37839,9 @@ var CdkSchema = `{ "HeartbeatSchema": { "type": "string" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -37926,6 +37929,9 @@ var CdkSchema = `{ "LoadTimeout": { "type": "number" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -68047,6 +68053,89 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::FraudDetector::List": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Elements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::List" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FraudDetector::Outcome": { "additionalProperties": false, "properties": { @@ -72270,6 +72359,9 @@ var CdkSchema = `{ "Name": { "type": "string" }, + "NetworkAccessControl": { + "$ref": "#/definitions/AWS::Grafana::Workspace.NetworkAccessControl" + }, "NotificationDestinations": { "items": { "type": "string" @@ -72365,6 +72457,24 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Grafana::Workspace.NetworkAccessControl": { + "additionalProperties": false, + "properties": { + "PrefixListIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpceIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Grafana::Workspace.RoleValues": { "additionalProperties": false, "properties": { @@ -77635,6 +77745,9 @@ var CdkSchema = `{ "Authorized": { "type": "boolean" }, + "InsecureIngest": { + "type": "boolean" + }, "LatencyMode": { "type": "string" }, @@ -80214,6 +80327,9 @@ var CdkSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficPercentageToMonitor": { + "type": "number" } }, "required": [ @@ -88850,6 +88966,15 @@ var CdkSchema = `{ "SceneId": { "type": "string" }, + "SceneMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -112035,8 +112160,6 @@ var CdkSchema = `{ } }, "required": [ - "AccessString", - "AuthenticationMode", "UserName" ], "type": "object" @@ -151205,6 +151328,85 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::RAM::Permission": { + "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": { + "Name": { + "type": "string" + }, + "PolicyTemplate": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "PolicyTemplate", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { @@ -165020,6 +165222,12 @@ var CdkSchema = `{ "DurationInMinutes": { "type": "number" }, + "RotationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" @@ -165027,9 +165235,6 @@ var CdkSchema = `{ "type": "array" } }, - "required": [ - "DurationInMinutes" - ], "type": "object" }, "AWS::SSMContacts::Contact.Targets": { @@ -167681,6 +167886,12 @@ var CdkSchema = `{ "ErrorTopic": { "type": "string" }, + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "type": "array" + }, "SuccessTopic": { "type": "string" } @@ -167696,13 +167907,13 @@ var CdkSchema = `{ "NotificationConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig" }, + "S3FailurePath": { + "type": "string" + }, "S3OutputPath": { "type": "string" } }, - "required": [ - "S3OutputPath" - ], "type": "object" }, "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { @@ -184699,7 +184910,7 @@ var CdkSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::Group.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184738,22 +184949,6 @@ var CdkSchema = `{ }, "type": "object" }, - "AWS::XRay::Group.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::XRay::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -184867,15 +185062,9 @@ var CdkSchema = `{ "SamplingRule": { "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184964,85 +185153,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "Alexa::ASK::Skill": { "additionalProperties": false, "properties": { @@ -186697,6 +186807,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::FraudDetector::Label" }, + { + "$ref": "#/definitions/AWS::FraudDetector::List" + }, { "$ref": "#/definitions/AWS::FraudDetector::Outcome" }, @@ -187771,6 +187884,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::QuickSight::Theme" }, + { + "$ref": "#/definitions/AWS::RAM::Permission" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index afd5ec0682..1fc04ee65f 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -37834,6 +37834,9 @@ "HeartbeatSchema": { "type": "string" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -37921,6 +37924,9 @@ "LoadTimeout": { "type": "number" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -68042,6 +68048,89 @@ ], "type": "object" }, + "AWS::FraudDetector::List": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Elements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::List" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FraudDetector::Outcome": { "additionalProperties": false, "properties": { @@ -72265,6 +72354,9 @@ "Name": { "type": "string" }, + "NetworkAccessControl": { + "$ref": "#/definitions/AWS::Grafana::Workspace.NetworkAccessControl" + }, "NotificationDestinations": { "items": { "type": "string" @@ -72360,6 +72452,24 @@ }, "type": "object" }, + "AWS::Grafana::Workspace.NetworkAccessControl": { + "additionalProperties": false, + "properties": { + "PrefixListIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpceIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Grafana::Workspace.RoleValues": { "additionalProperties": false, "properties": { @@ -77630,6 +77740,9 @@ "Authorized": { "type": "boolean" }, + "InsecureIngest": { + "type": "boolean" + }, "LatencyMode": { "type": "string" }, @@ -80209,6 +80322,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficPercentageToMonitor": { + "type": "number" } }, "required": [ @@ -88845,6 +88961,15 @@ "SceneId": { "type": "string" }, + "SceneMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -112030,8 +112155,6 @@ } }, "required": [ - "AccessString", - "AuthenticationMode", "UserName" ], "type": "object" @@ -151200,6 +151323,85 @@ }, "type": "object" }, + "AWS::RAM::Permission": { + "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": { + "Name": { + "type": "string" + }, + "PolicyTemplate": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "PolicyTemplate", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { @@ -165015,6 +165217,12 @@ "DurationInMinutes": { "type": "number" }, + "RotationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" @@ -165022,9 +165230,6 @@ "type": "array" } }, - "required": [ - "DurationInMinutes" - ], "type": "object" }, "AWS::SSMContacts::Contact.Targets": { @@ -167676,6 +167881,12 @@ "ErrorTopic": { "type": "string" }, + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "type": "array" + }, "SuccessTopic": { "type": "string" } @@ -167691,13 +167902,13 @@ "NotificationConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig" }, + "S3FailurePath": { + "type": "string" + }, "S3OutputPath": { "type": "string" } }, - "required": [ - "S3OutputPath" - ], "type": "object" }, "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { @@ -184694,7 +184905,7 @@ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::Group.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184733,22 +184944,6 @@ }, "type": "object" }, - "AWS::XRay::Group.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::XRay::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -184862,15 +185057,9 @@ "SamplingRule": { "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184959,85 +185148,6 @@ ], "type": "object" }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "Alexa::ASK::Skill": { "additionalProperties": false, "properties": { @@ -186692,6 +186802,9 @@ { "$ref": "#/definitions/AWS::FraudDetector::Label" }, + { + "$ref": "#/definitions/AWS::FraudDetector::List" + }, { "$ref": "#/definitions/AWS::FraudDetector::Outcome" }, @@ -187766,6 +187879,9 @@ { "$ref": "#/definitions/AWS::QuickSight::Theme" }, + { + "$ref": "#/definitions/AWS::RAM::Permission" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index e07b21a60b..f347d1c456 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -37778,6 +37778,9 @@ var CloudformationSchema = `{ "HeartbeatSchema": { "type": "string" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -37865,6 +37868,9 @@ var CloudformationSchema = `{ "LoadTimeout": { "type": "number" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -67986,6 +67992,89 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::FraudDetector::List": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Elements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::List" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FraudDetector::Outcome": { "additionalProperties": false, "properties": { @@ -72209,6 +72298,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "NetworkAccessControl": { + "$ref": "#/definitions/AWS::Grafana::Workspace.NetworkAccessControl" + }, "NotificationDestinations": { "items": { "type": "string" @@ -72304,6 +72396,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Grafana::Workspace.NetworkAccessControl": { + "additionalProperties": false, + "properties": { + "PrefixListIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpceIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Grafana::Workspace.RoleValues": { "additionalProperties": false, "properties": { @@ -77574,6 +77684,9 @@ var CloudformationSchema = `{ "Authorized": { "type": "boolean" }, + "InsecureIngest": { + "type": "boolean" + }, "LatencyMode": { "type": "string" }, @@ -80153,6 +80266,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficPercentageToMonitor": { + "type": "number" } }, "required": [ @@ -88789,6 +88905,15 @@ var CloudformationSchema = `{ "SceneId": { "type": "string" }, + "SceneMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -111974,8 +112099,6 @@ var CloudformationSchema = `{ } }, "required": [ - "AccessString", - "AuthenticationMode", "UserName" ], "type": "object" @@ -151144,6 +151267,85 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::RAM::Permission": { + "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": { + "Name": { + "type": "string" + }, + "PolicyTemplate": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "PolicyTemplate", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { @@ -164959,6 +165161,12 @@ var CloudformationSchema = `{ "DurationInMinutes": { "type": "number" }, + "RotationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" @@ -164966,9 +165174,6 @@ var CloudformationSchema = `{ "type": "array" } }, - "required": [ - "DurationInMinutes" - ], "type": "object" }, "AWS::SSMContacts::Contact.Targets": { @@ -167620,6 +167825,12 @@ var CloudformationSchema = `{ "ErrorTopic": { "type": "string" }, + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "type": "array" + }, "SuccessTopic": { "type": "string" } @@ -167635,13 +167846,13 @@ var CloudformationSchema = `{ "NotificationConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig" }, + "S3FailurePath": { + "type": "string" + }, "S3OutputPath": { "type": "string" } }, - "required": [ - "S3OutputPath" - ], "type": "object" }, "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { @@ -184638,7 +184849,7 @@ var CloudformationSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::Group.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184677,22 +184888,6 @@ var CloudformationSchema = `{ }, "type": "object" }, - "AWS::XRay::Group.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::XRay::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -184806,15 +185001,9 @@ var CloudformationSchema = `{ "SamplingRule": { "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184903,85 +185092,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "Alexa::ASK::Skill": { "additionalProperties": false, "properties": { @@ -186633,6 +186743,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::FraudDetector::Label" }, + { + "$ref": "#/definitions/AWS::FraudDetector::List" + }, { "$ref": "#/definitions/AWS::FraudDetector::Outcome" }, @@ -187707,6 +187820,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::QuickSight::Theme" }, + { + "$ref": "#/definitions/AWS::RAM::Permission" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 8b0ae3a90a..938b2f06bb 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -37773,6 +37773,9 @@ "HeartbeatSchema": { "type": "string" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -37860,6 +37863,9 @@ "LoadTimeout": { "type": "number" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -67981,6 +67987,89 @@ ], "type": "object" }, + "AWS::FraudDetector::List": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Elements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::List" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FraudDetector::Outcome": { "additionalProperties": false, "properties": { @@ -72204,6 +72293,9 @@ "Name": { "type": "string" }, + "NetworkAccessControl": { + "$ref": "#/definitions/AWS::Grafana::Workspace.NetworkAccessControl" + }, "NotificationDestinations": { "items": { "type": "string" @@ -72299,6 +72391,24 @@ }, "type": "object" }, + "AWS::Grafana::Workspace.NetworkAccessControl": { + "additionalProperties": false, + "properties": { + "PrefixListIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpceIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Grafana::Workspace.RoleValues": { "additionalProperties": false, "properties": { @@ -77569,6 +77679,9 @@ "Authorized": { "type": "boolean" }, + "InsecureIngest": { + "type": "boolean" + }, "LatencyMode": { "type": "string" }, @@ -80148,6 +80261,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficPercentageToMonitor": { + "type": "number" } }, "required": [ @@ -88784,6 +88900,15 @@ "SceneId": { "type": "string" }, + "SceneMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -111969,8 +112094,6 @@ } }, "required": [ - "AccessString", - "AuthenticationMode", "UserName" ], "type": "object" @@ -151139,6 +151262,85 @@ }, "type": "object" }, + "AWS::RAM::Permission": { + "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": { + "Name": { + "type": "string" + }, + "PolicyTemplate": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "PolicyTemplate", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { @@ -164954,6 +165156,12 @@ "DurationInMinutes": { "type": "number" }, + "RotationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" @@ -164961,9 +165169,6 @@ "type": "array" } }, - "required": [ - "DurationInMinutes" - ], "type": "object" }, "AWS::SSMContacts::Contact.Targets": { @@ -167615,6 +167820,12 @@ "ErrorTopic": { "type": "string" }, + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "type": "array" + }, "SuccessTopic": { "type": "string" } @@ -167630,13 +167841,13 @@ "NotificationConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig" }, + "S3FailurePath": { + "type": "string" + }, "S3OutputPath": { "type": "string" } }, - "required": [ - "S3OutputPath" - ], "type": "object" }, "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { @@ -184633,7 +184844,7 @@ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::Group.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184672,22 +184883,6 @@ }, "type": "object" }, - "AWS::XRay::Group.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::XRay::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -184801,15 +184996,9 @@ "SamplingRule": { "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -184898,85 +185087,6 @@ ], "type": "object" }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "Alexa::ASK::Skill": { "additionalProperties": false, "properties": { @@ -186628,6 +186738,9 @@ { "$ref": "#/definitions/AWS::FraudDetector::Label" }, + { + "$ref": "#/definitions/AWS::FraudDetector::List" + }, { "$ref": "#/definitions/AWS::FraudDetector::Outcome" }, @@ -187702,6 +187815,9 @@ { "$ref": "#/definitions/AWS::QuickSight::Theme" }, + { + "$ref": "#/definitions/AWS::RAM::Permission" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, diff --git a/schema/sam.go b/schema/sam.go index 38723ced43..0bf8b35538 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -37778,6 +37778,9 @@ var SamSchema = `{ "HeartbeatSchema": { "type": "string" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -37865,6 +37868,9 @@ var SamSchema = `{ "LoadTimeout": { "type": "number" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -67986,6 +67992,89 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::FraudDetector::List": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Elements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::List" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FraudDetector::Outcome": { "additionalProperties": false, "properties": { @@ -72209,6 +72298,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "NetworkAccessControl": { + "$ref": "#/definitions/AWS::Grafana::Workspace.NetworkAccessControl" + }, "NotificationDestinations": { "items": { "type": "string" @@ -72304,6 +72396,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Grafana::Workspace.NetworkAccessControl": { + "additionalProperties": false, + "properties": { + "PrefixListIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpceIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Grafana::Workspace.RoleValues": { "additionalProperties": false, "properties": { @@ -77574,6 +77684,9 @@ var SamSchema = `{ "Authorized": { "type": "boolean" }, + "InsecureIngest": { + "type": "boolean" + }, "LatencyMode": { "type": "string" }, @@ -80153,6 +80266,9 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficPercentageToMonitor": { + "type": "number" } }, "required": [ @@ -88789,6 +88905,15 @@ var SamSchema = `{ "SceneId": { "type": "string" }, + "SceneMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -111974,8 +112099,6 @@ var SamSchema = `{ } }, "required": [ - "AccessString", - "AuthenticationMode", "UserName" ], "type": "object" @@ -151144,6 +151267,85 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::RAM::Permission": { + "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": { + "Name": { + "type": "string" + }, + "PolicyTemplate": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "PolicyTemplate", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { @@ -164959,6 +165161,12 @@ var SamSchema = `{ "DurationInMinutes": { "type": "number" }, + "RotationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" @@ -164966,9 +165174,6 @@ var SamSchema = `{ "type": "array" } }, - "required": [ - "DurationInMinutes" - ], "type": "object" }, "AWS::SSMContacts::Contact.Targets": { @@ -167620,6 +167825,12 @@ var SamSchema = `{ "ErrorTopic": { "type": "string" }, + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "type": "array" + }, "SuccessTopic": { "type": "string" } @@ -167635,13 +167846,13 @@ var SamSchema = `{ "NotificationConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig" }, + "S3FailurePath": { + "type": "string" + }, "S3OutputPath": { "type": "string" } }, - "required": [ - "S3OutputPath" - ], "type": "object" }, "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { @@ -187353,7 +187564,7 @@ var SamSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::Group.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -187392,22 +187603,6 @@ var SamSchema = `{ }, "type": "object" }, - "AWS::XRay::Group.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::XRay::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -187521,15 +187716,9 @@ var SamSchema = `{ "SamplingRule": { "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -187618,85 +187807,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "Alexa::ASK::Skill": { "additionalProperties": false, "properties": { @@ -189640,6 +189750,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::FraudDetector::Label" }, + { + "$ref": "#/definitions/AWS::FraudDetector::List" + }, { "$ref": "#/definitions/AWS::FraudDetector::Outcome" }, @@ -190714,6 +190827,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::QuickSight::Theme" }, + { + "$ref": "#/definitions/AWS::RAM::Permission" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index e3678ecacc..b4bf41e317 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -37773,6 +37773,9 @@ "HeartbeatSchema": { "type": "string" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -37860,6 +37863,9 @@ "LoadTimeout": { "type": "number" }, + "MapBooleanAsBoolean": { + "type": "boolean" + }, "MaxFileSize": { "type": "number" }, @@ -67981,6 +67987,89 @@ ], "type": "object" }, + "AWS::FraudDetector::List": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Elements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::List" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::FraudDetector::Outcome": { "additionalProperties": false, "properties": { @@ -72204,6 +72293,9 @@ "Name": { "type": "string" }, + "NetworkAccessControl": { + "$ref": "#/definitions/AWS::Grafana::Workspace.NetworkAccessControl" + }, "NotificationDestinations": { "items": { "type": "string" @@ -72299,6 +72391,24 @@ }, "type": "object" }, + "AWS::Grafana::Workspace.NetworkAccessControl": { + "additionalProperties": false, + "properties": { + "PrefixListIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpceIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Grafana::Workspace.RoleValues": { "additionalProperties": false, "properties": { @@ -77569,6 +77679,9 @@ "Authorized": { "type": "boolean" }, + "InsecureIngest": { + "type": "boolean" + }, "LatencyMode": { "type": "string" }, @@ -80148,6 +80261,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TrafficPercentageToMonitor": { + "type": "number" } }, "required": [ @@ -88784,6 +88900,15 @@ "SceneId": { "type": "string" }, + "SceneMetadata": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -111969,8 +112094,6 @@ } }, "required": [ - "AccessString", - "AuthenticationMode", "UserName" ], "type": "object" @@ -151139,6 +151262,85 @@ }, "type": "object" }, + "AWS::RAM::Permission": { + "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": { + "Name": { + "type": "string" + }, + "PolicyTemplate": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "PolicyTemplate", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { @@ -164954,6 +165156,12 @@ "DurationInMinutes": { "type": "number" }, + "RotationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "Targets": { "items": { "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" @@ -164961,9 +165169,6 @@ "type": "array" } }, - "required": [ - "DurationInMinutes" - ], "type": "object" }, "AWS::SSMContacts::Contact.Targets": { @@ -167615,6 +167820,12 @@ "ErrorTopic": { "type": "string" }, + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "type": "array" + }, "SuccessTopic": { "type": "string" } @@ -167630,13 +167841,13 @@ "NotificationConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig" }, + "S3FailurePath": { + "type": "string" + }, "S3OutputPath": { "type": "string" } }, - "required": [ - "S3OutputPath" - ], "type": "object" }, "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { @@ -187348,7 +187559,7 @@ }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::Group.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -187387,22 +187598,6 @@ }, "type": "object" }, - "AWS::XRay::Group.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::XRay::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -187516,15 +187711,9 @@ "SamplingRule": { "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.TagsItems" + "$ref": "#/definitions/Tag" }, "type": "array" } @@ -187613,85 +187802,6 @@ ], "type": "object" }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "Alexa::ASK::Skill": { "additionalProperties": false, "properties": { @@ -189635,6 +189745,9 @@ { "$ref": "#/definitions/AWS::FraudDetector::Label" }, + { + "$ref": "#/definitions/AWS::FraudDetector::List" + }, { "$ref": "#/definitions/AWS::FraudDetector::Outcome" }, @@ -190709,6 +190822,9 @@ { "$ref": "#/definitions/AWS::QuickSight::Theme" }, + { + "$ref": "#/definitions/AWS::RAM::Permission" + }, { "$ref": "#/definitions/AWS::RAM::ResourceShare" },