diff --git a/cloudformation/all.go b/cloudformation/all.go index 5dd5940436..b20882b292 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -328,6 +328,7 @@ func AllResources() map[string]Resource { "AWS::ApplicationAutoScaling::ScalableTarget": &applicationautoscaling.ScalableTarget{}, "AWS::ApplicationAutoScaling::ScalingPolicy": &applicationautoscaling.ScalingPolicy{}, "AWS::ApplicationInsights::Application": &applicationinsights.Application{}, + "AWS::Athena::CapacityReservation": &athena.CapacityReservation{}, "AWS::Athena::DataCatalog": &athena.DataCatalog{}, "AWS::Athena::NamedQuery": &athena.NamedQuery{}, "AWS::Athena::PreparedStatement": &athena.PreparedStatement{}, @@ -466,6 +467,7 @@ func AllResources() map[string]Resource { "AWS::Connect::UserHierarchyGroup": &connect.UserHierarchyGroup{}, "AWS::ConnectCampaigns::Campaign": &connectcampaigns.Campaign{}, "AWS::ControlTower::EnabledControl": &controltower.EnabledControl{}, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": &customerprofiles.CalculatedAttributeDefinition{}, "AWS::CustomerProfiles::Domain": &customerprofiles.Domain{}, "AWS::CustomerProfiles::Integration": &customerprofiles.Integration{}, "AWS::CustomerProfiles::ObjectType": &customerprofiles.ObjectType{}, @@ -3647,6 +3649,30 @@ func (t *Template) GetApplicationInsightsApplicationWithName(name string) (*appl return nil, fmt.Errorf("resource %q of type applicationinsights.Application not found", name) } +// GetAllAthenaCapacityReservationResources retrieves all athena.CapacityReservation items from an AWS CloudFormation template +func (t *Template) GetAllAthenaCapacityReservationResources() map[string]*athena.CapacityReservation { + results := map[string]*athena.CapacityReservation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *athena.CapacityReservation: + results[name] = resource + } + } + return results +} + +// GetAthenaCapacityReservationWithName retrieves all athena.CapacityReservation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetAthenaCapacityReservationWithName(name string) (*athena.CapacityReservation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *athena.CapacityReservation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type athena.CapacityReservation not found", name) +} + // GetAllAthenaDataCatalogResources retrieves all athena.DataCatalog items from an AWS CloudFormation template func (t *Template) GetAllAthenaDataCatalogResources() map[string]*athena.DataCatalog { results := map[string]*athena.DataCatalog{} @@ -6959,6 +6985,30 @@ func (t *Template) GetControlTowerEnabledControlWithName(name string) (*controlt return nil, fmt.Errorf("resource %q of type controltower.EnabledControl not found", name) } +// GetAllCustomerProfilesCalculatedAttributeDefinitionResources retrieves all customerprofiles.CalculatedAttributeDefinition items from an AWS CloudFormation template +func (t *Template) GetAllCustomerProfilesCalculatedAttributeDefinitionResources() map[string]*customerprofiles.CalculatedAttributeDefinition { + results := map[string]*customerprofiles.CalculatedAttributeDefinition{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *customerprofiles.CalculatedAttributeDefinition: + results[name] = resource + } + } + return results +} + +// GetCustomerProfilesCalculatedAttributeDefinitionWithName retrieves all customerprofiles.CalculatedAttributeDefinition items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCustomerProfilesCalculatedAttributeDefinitionWithName(name string) (*customerprofiles.CalculatedAttributeDefinition, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *customerprofiles.CalculatedAttributeDefinition: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type customerprofiles.CalculatedAttributeDefinition not found", name) +} + // GetAllCustomerProfilesDomainResources retrieves all customerprofiles.Domain items from an AWS CloudFormation template func (t *Template) GetAllCustomerProfilesDomainResources() map[string]*customerprofiles.Domain { results := map[string]*customerprofiles.Domain{} diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go index f55467e7df..3b32aaad3a 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalabletarget.go @@ -29,9 +29,9 @@ type ScalableTarget struct { ResourceId string `json:"ResourceId"` // RoleARN AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-rolearn - RoleARN string `json:"RoleARN"` + RoleARN *string `json:"RoleARN,omitempty"` // ScalableDimension AWS CloudFormation Property // Required: true diff --git a/cloudformation/athena/aws-athena-capacityreservation.go b/cloudformation/athena/aws-athena-capacityreservation.go new file mode 100644 index 0000000000..7d5be1e1b5 --- /dev/null +++ b/cloudformation/athena/aws-athena-capacityreservation.go @@ -0,0 +1,133 @@ +// Code generated by "go generate". Please don't change this file directly. + +package athena + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// CapacityReservation AWS CloudFormation Resource (AWS::Athena::CapacityReservation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html +type CapacityReservation struct { + + // CapacityAssignmentConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-capacityassignmentconfiguration + CapacityAssignmentConfiguration *CapacityReservation_CapacityAssignmentConfiguration `json:"CapacityAssignmentConfiguration,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-name + Name string `json:"Name"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // TargetDpus AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-targetdpus + TargetDpus int `json:"TargetDpus"` + + // 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 *CapacityReservation) AWSCloudFormationType() string { + return "AWS::Athena::CapacityReservation" +} + +// 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 CapacityReservation) MarshalJSON() ([]byte, error) { + type Properties CapacityReservation + 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 *CapacityReservation) UnmarshalJSON(b []byte) error { + type Properties CapacityReservation + 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 = CapacityReservation(*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/athena/aws-athena-capacityreservation_capacityassignment.go b/cloudformation/athena/aws-athena-capacityreservation_capacityassignment.go new file mode 100644 index 0000000000..7bbd845d29 --- /dev/null +++ b/cloudformation/athena/aws-athena-capacityreservation_capacityassignment.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package athena + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CapacityReservation_CapacityAssignment AWS CloudFormation Resource (AWS::Athena::CapacityReservation.CapacityAssignment) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html +type CapacityReservation_CapacityAssignment struct { + + // WorkgroupNames AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html#cfn-athena-capacityreservation-capacityassignment-workgroupnames + WorkgroupNames []string `json:"WorkgroupNames"` + + // 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 *CapacityReservation_CapacityAssignment) AWSCloudFormationType() string { + return "AWS::Athena::CapacityReservation.CapacityAssignment" +} diff --git a/cloudformation/athena/aws-athena-capacityreservation_capacityassignmentconfiguration.go b/cloudformation/athena/aws-athena-capacityreservation_capacityassignmentconfiguration.go new file mode 100644 index 0000000000..fa956077de --- /dev/null +++ b/cloudformation/athena/aws-athena-capacityreservation_capacityassignmentconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package athena + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CapacityReservation_CapacityAssignmentConfiguration AWS CloudFormation Resource (AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html +type CapacityReservation_CapacityAssignmentConfiguration struct { + + // CapacityAssignments AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html#cfn-athena-capacityreservation-capacityassignmentconfiguration-capacityassignments + CapacityAssignments []CapacityReservation_CapacityAssignment `json:"CapacityAssignments"` + + // 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 *CapacityReservation_CapacityAssignmentConfiguration) AWSCloudFormationType() string { + return "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" +} diff --git a/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition.go b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition.go new file mode 100644 index 0000000000..beb7993bf5 --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition.go @@ -0,0 +1,153 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// CalculatedAttributeDefinition AWS CloudFormation Resource (AWS::CustomerProfiles::CalculatedAttributeDefinition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html +type CalculatedAttributeDefinition struct { + + // AttributeDetails AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-attributedetails + AttributeDetails *CalculatedAttributeDefinition_AttributeDetails `json:"AttributeDetails"` + + // CalculatedAttributeName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-calculatedattributename + CalculatedAttributeName string `json:"CalculatedAttributeName"` + + // Conditions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-conditions + Conditions *CalculatedAttributeDefinition_Conditions `json:"Conditions,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-description + Description *string `json:"Description,omitempty"` + + // DisplayName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-displayname + DisplayName *string `json:"DisplayName,omitempty"` + + // DomainName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-domainname + DomainName string `json:"DomainName"` + + // Statistic AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-statistic + Statistic string `json:"Statistic"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html#cfn-customerprofiles-calculatedattributedefinition-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 *CalculatedAttributeDefinition) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::CalculatedAttributeDefinition" +} + +// 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 CalculatedAttributeDefinition) MarshalJSON() ([]byte, error) { + type Properties CalculatedAttributeDefinition + 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 *CalculatedAttributeDefinition) UnmarshalJSON(b []byte) error { + type Properties CalculatedAttributeDefinition + 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 = CalculatedAttributeDefinition(*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/customerprofiles/aws-customerprofiles-calculatedattributedefinition_attributedetails.go b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_attributedetails.go new file mode 100644 index 0000000000..d565443622 --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_attributedetails.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CalculatedAttributeDefinition_AttributeDetails AWS CloudFormation Resource (AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-attributedetails.html +type CalculatedAttributeDefinition_AttributeDetails struct { + + // Attributes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-attributedetails.html#cfn-customerprofiles-calculatedattributedefinition-attributedetails-attributes + Attributes []CalculatedAttributeDefinition_AttributeItem `json:"Attributes"` + + // Expression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-attributedetails.html#cfn-customerprofiles-calculatedattributedefinition-attributedetails-expression + Expression string `json:"Expression"` + + // 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 *CalculatedAttributeDefinition_AttributeDetails) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" +} diff --git a/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_attributeitem.go b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_attributeitem.go new file mode 100644 index 0000000000..feb2bc56d4 --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_attributeitem.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CalculatedAttributeDefinition_AttributeItem AWS CloudFormation Resource (AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-attributeitem.html +type CalculatedAttributeDefinition_AttributeItem struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-attributeitem.html#cfn-customerprofiles-calculatedattributedefinition-attributeitem-name + Name string `json:"Name"` + + // 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 *CalculatedAttributeDefinition_AttributeItem) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" +} diff --git a/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_conditions.go b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_conditions.go new file mode 100644 index 0000000000..d4e0481cb3 --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_conditions.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CalculatedAttributeDefinition_Conditions AWS CloudFormation Resource (AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-conditions.html +type CalculatedAttributeDefinition_Conditions struct { + + // ObjectCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-conditions.html#cfn-customerprofiles-calculatedattributedefinition-conditions-objectcount + ObjectCount *int `json:"ObjectCount,omitempty"` + + // Range AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-conditions.html#cfn-customerprofiles-calculatedattributedefinition-conditions-range + Range *CalculatedAttributeDefinition_Range `json:"Range,omitempty"` + + // Threshold AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-conditions.html#cfn-customerprofiles-calculatedattributedefinition-conditions-threshold + Threshold *CalculatedAttributeDefinition_Threshold `json:"Threshold,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 *CalculatedAttributeDefinition_Conditions) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" +} diff --git a/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_range.go b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_range.go new file mode 100644 index 0000000000..54a16071d7 --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_range.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CalculatedAttributeDefinition_Range AWS CloudFormation Resource (AWS::CustomerProfiles::CalculatedAttributeDefinition.Range) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-range.html +type CalculatedAttributeDefinition_Range struct { + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-range.html#cfn-customerprofiles-calculatedattributedefinition-range-unit + Unit string `json:"Unit"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-range.html#cfn-customerprofiles-calculatedattributedefinition-range-value + Value int `json:"Value"` + + // 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 *CalculatedAttributeDefinition_Range) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" +} diff --git a/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_threshold.go b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_threshold.go new file mode 100644 index 0000000000..5276958745 --- /dev/null +++ b/cloudformation/customerprofiles/aws-customerprofiles-calculatedattributedefinition_threshold.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package customerprofiles + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CalculatedAttributeDefinition_Threshold AWS CloudFormation Resource (AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-threshold.html +type CalculatedAttributeDefinition_Threshold struct { + + // Operator AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-threshold.html#cfn-customerprofiles-calculatedattributedefinition-threshold-operator + Operator string `json:"Operator"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-calculatedattributedefinition-threshold.html#cfn-customerprofiles-calculatedattributedefinition-threshold-value + Value string `json:"Value"` + + // 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 *CalculatedAttributeDefinition_Threshold) AWSCloudFormationType() string { + return "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" +} diff --git a/cloudformation/omics/aws-omics-sequencestore.go b/cloudformation/omics/aws-omics-sequencestore.go index 9113ba54ea..4460c4d1a8 100644 --- a/cloudformation/omics/aws-omics-sequencestore.go +++ b/cloudformation/omics/aws-omics-sequencestore.go @@ -18,6 +18,11 @@ type SequenceStore struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html#cfn-omics-sequencestore-description Description *string `json:"Description,omitempty"` + // FallbackLocation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html#cfn-omics-sequencestore-fallbacklocation + FallbackLocation *string `json:"FallbackLocation,omitempty"` + // Name AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html#cfn-omics-sequencestore-name diff --git a/schema/cdk.go b/schema/cdk.go index 3bdb6890ce..799cac042c 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -15730,7 +15730,6 @@ var CdkSchema = `{ "MaxCapacity", "MinCapacity", "ResourceId", - "RoleARN", "ScalableDimension", "ServiceNamespace" ], @@ -16440,6 +16439,114 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Athena::CapacityReservation": { + "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": { + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDpus": { + "type": "number" + } + }, + "required": [ + "Name", + "TargetDpus" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, "AWS::Athena::DataCatalog": { "additionalProperties": false, "properties": { @@ -36617,6 +36724,176 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "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": { + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" + }, + "CalculatedAttributeName": { + "type": "string" + }, + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::CalculatedAttributeDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "type": "array" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "type": "number" + }, + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { @@ -118675,6 +118952,9 @@ var CdkSchema = `{ "Description": { "type": "string" }, + "FallbackLocation": { + "type": "string" + }, "Name": { "type": "string" }, @@ -190131,6 +190411,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ApplicationInsights::Application" }, + { + "$ref": "#/definitions/AWS::Athena::CapacityReservation" + }, { "$ref": "#/definitions/AWS::Athena::DataCatalog" }, @@ -190545,6 +190828,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 3da3eac87e..ddf3790ff1 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -15725,7 +15725,6 @@ "MaxCapacity", "MinCapacity", "ResourceId", - "RoleARN", "ScalableDimension", "ServiceNamespace" ], @@ -16435,6 +16434,114 @@ ], "type": "object" }, + "AWS::Athena::CapacityReservation": { + "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": { + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDpus": { + "type": "number" + } + }, + "required": [ + "Name", + "TargetDpus" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, "AWS::Athena::DataCatalog": { "additionalProperties": false, "properties": { @@ -36612,6 +36719,176 @@ ], "type": "object" }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "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": { + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" + }, + "CalculatedAttributeName": { + "type": "string" + }, + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::CalculatedAttributeDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "type": "array" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "type": "number" + }, + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { @@ -118670,6 +118947,9 @@ "Description": { "type": "string" }, + "FallbackLocation": { + "type": "string" + }, "Name": { "type": "string" }, @@ -190126,6 +190406,9 @@ { "$ref": "#/definitions/AWS::ApplicationInsights::Application" }, + { + "$ref": "#/definitions/AWS::Athena::CapacityReservation" + }, { "$ref": "#/definitions/AWS::Athena::DataCatalog" }, @@ -190540,6 +190823,9 @@ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 748f1ba920..fc5768af00 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -15730,7 +15730,6 @@ var CloudformationSchema = `{ "MaxCapacity", "MinCapacity", "ResourceId", - "RoleARN", "ScalableDimension", "ServiceNamespace" ], @@ -16440,6 +16439,114 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Athena::CapacityReservation": { + "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": { + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDpus": { + "type": "number" + } + }, + "required": [ + "Name", + "TargetDpus" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, "AWS::Athena::DataCatalog": { "additionalProperties": false, "properties": { @@ -36556,6 +36663,176 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "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": { + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" + }, + "CalculatedAttributeName": { + "type": "string" + }, + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::CalculatedAttributeDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "type": "array" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "type": "number" + }, + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { @@ -118614,6 +118891,9 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, + "FallbackLocation": { + "type": "string" + }, "Name": { "type": "string" }, @@ -190070,6 +190350,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ApplicationInsights::Application" }, + { + "$ref": "#/definitions/AWS::Athena::CapacityReservation" + }, { "$ref": "#/definitions/AWS::Athena::DataCatalog" }, @@ -190481,6 +190764,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index d237eb5b82..5d0a1055cb 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -15725,7 +15725,6 @@ "MaxCapacity", "MinCapacity", "ResourceId", - "RoleARN", "ScalableDimension", "ServiceNamespace" ], @@ -16435,6 +16434,114 @@ ], "type": "object" }, + "AWS::Athena::CapacityReservation": { + "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": { + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDpus": { + "type": "number" + } + }, + "required": [ + "Name", + "TargetDpus" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, "AWS::Athena::DataCatalog": { "additionalProperties": false, "properties": { @@ -36551,6 +36658,176 @@ ], "type": "object" }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "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": { + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" + }, + "CalculatedAttributeName": { + "type": "string" + }, + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::CalculatedAttributeDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "type": "array" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "type": "number" + }, + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { @@ -118609,6 +118886,9 @@ "Description": { "type": "string" }, + "FallbackLocation": { + "type": "string" + }, "Name": { "type": "string" }, @@ -190065,6 +190345,9 @@ { "$ref": "#/definitions/AWS::ApplicationInsights::Application" }, + { + "$ref": "#/definitions/AWS::Athena::CapacityReservation" + }, { "$ref": "#/definitions/AWS::Athena::DataCatalog" }, @@ -190476,6 +190759,9 @@ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, diff --git a/schema/sam.go b/schema/sam.go index 7b78dcf967..07d86571f5 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -15730,7 +15730,6 @@ var SamSchema = `{ "MaxCapacity", "MinCapacity", "ResourceId", - "RoleARN", "ScalableDimension", "ServiceNamespace" ], @@ -16440,6 +16439,114 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Athena::CapacityReservation": { + "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": { + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDpus": { + "type": "number" + } + }, + "required": [ + "Name", + "TargetDpus" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, "AWS::Athena::DataCatalog": { "additionalProperties": false, "properties": { @@ -36556,6 +36663,176 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "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": { + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" + }, + "CalculatedAttributeName": { + "type": "string" + }, + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::CalculatedAttributeDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "type": "array" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "type": "number" + }, + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { @@ -118614,6 +118891,9 @@ var SamSchema = `{ "Description": { "type": "string" }, + "FallbackLocation": { + "type": "string" + }, "Name": { "type": "string" }, @@ -193077,6 +193357,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ApplicationInsights::Application" }, + { + "$ref": "#/definitions/AWS::Athena::CapacityReservation" + }, { "$ref": "#/definitions/AWS::Athena::DataCatalog" }, @@ -193488,6 +193771,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index ddf323d449..daf8e3ff2a 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -15725,7 +15725,6 @@ "MaxCapacity", "MinCapacity", "ResourceId", - "RoleARN", "ScalableDimension", "ServiceNamespace" ], @@ -16435,6 +16434,114 @@ ], "type": "object" }, + "AWS::Athena::CapacityReservation": { + "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": { + "CapacityAssignmentConfiguration": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetDpus": { + "type": "number" + } + }, + "required": [ + "Name", + "TargetDpus" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignment": { + "additionalProperties": false, + "properties": { + "WorkgroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "WorkgroupNames" + ], + "type": "object" + }, + "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration": { + "additionalProperties": false, + "properties": { + "CapacityAssignments": { + "items": { + "$ref": "#/definitions/AWS::Athena::CapacityReservation.CapacityAssignment" + }, + "type": "array" + } + }, + "required": [ + "CapacityAssignments" + ], + "type": "object" + }, "AWS::Athena::DataCatalog": { "additionalProperties": false, "properties": { @@ -36551,6 +36658,176 @@ ], "type": "object" }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition": { + "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": { + "AttributeDetails": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails" + }, + "CalculatedAttributeName": { + "type": "string" + }, + "Conditions": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AttributeDetails", + "CalculatedAttributeName", + "DomainName", + "Statistic" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::CalculatedAttributeDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeDetails": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem" + }, + "type": "array" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Expression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.AttributeItem": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Conditions": { + "additionalProperties": false, + "properties": { + "ObjectCount": { + "type": "number" + }, + "Range": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Range" + }, + "Threshold": { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Range": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::CustomerProfiles::CalculatedAttributeDefinition.Threshold": { + "additionalProperties": false, + "properties": { + "Operator": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Operator", + "Value" + ], + "type": "object" + }, "AWS::CustomerProfiles::Domain": { "additionalProperties": false, "properties": { @@ -118609,6 +118886,9 @@ "Description": { "type": "string" }, + "FallbackLocation": { + "type": "string" + }, "Name": { "type": "string" }, @@ -193072,6 +193352,9 @@ { "$ref": "#/definitions/AWS::ApplicationInsights::Application" }, + { + "$ref": "#/definitions/AWS::Athena::CapacityReservation" + }, { "$ref": "#/definitions/AWS::Athena::DataCatalog" }, @@ -193483,6 +193766,9 @@ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" },