diff --git a/cloudformation/all.go b/cloudformation/all.go index 2ea400e175..596ce82af0 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -27,6 +27,7 @@ import ( "github.com/awslabs/goformation/v7/cloudformation/auditmanager" "github.com/awslabs/goformation/v7/cloudformation/autoscaling" "github.com/awslabs/goformation/v7/cloudformation/autoscalingplans" + "github.com/awslabs/goformation/v7/cloudformation/b2bi" "github.com/awslabs/goformation/v7/cloudformation/backup" "github.com/awslabs/goformation/v7/cloudformation/backupgateway" "github.com/awslabs/goformation/v7/cloudformation/batch" @@ -354,6 +355,8 @@ func AllResources() map[string]Resource { "AWS::AutoScaling::ScheduledAction": &autoscaling.ScheduledAction{}, "AWS::AutoScaling::WarmPool": &autoscaling.WarmPool{}, "AWS::AutoScalingPlans::ScalingPlan": &autoscalingplans.ScalingPlan{}, + "AWS::B2BI::Profile": &b2bi.Profile{}, + "AWS::B2BI::Transformer": &b2bi.Transformer{}, "AWS::Backup::BackupPlan": &backup.BackupPlan{}, "AWS::Backup::BackupSelection": &backup.BackupSelection{}, "AWS::Backup::BackupVault": &backup.BackupVault{}, @@ -606,6 +609,7 @@ func AllResources() map[string]Resource { "AWS::EC2::SecurityGroup": &ec2.SecurityGroup{}, "AWS::EC2::SecurityGroupEgress": &ec2.SecurityGroupEgress{}, "AWS::EC2::SecurityGroupIngress": &ec2.SecurityGroupIngress{}, + "AWS::EC2::SnapshotBlockPublicAccess": &ec2.SnapshotBlockPublicAccess{}, "AWS::EC2::SpotFleet": &ec2.SpotFleet{}, "AWS::EC2::Subnet": &ec2.Subnet{}, "AWS::EC2::SubnetCidrBlock": &ec2.SubnetCidrBlock{}, @@ -755,6 +759,7 @@ func AllResources() map[string]Resource { "AWS::Glue::Classifier": &glue.Classifier{}, "AWS::Glue::Connection": &glue.Connection{}, "AWS::Glue::Crawler": &glue.Crawler{}, + "AWS::Glue::CustomEntityType": &glue.CustomEntityType{}, "AWS::Glue::DataCatalogEncryptionSettings": &glue.DataCatalogEncryptionSettings{}, "AWS::Glue::DataQualityRuleset": &glue.DataQualityRuleset{}, "AWS::Glue::Database": &glue.Database{}, @@ -4147,6 +4152,54 @@ func (t *Template) GetAutoScalingPlansScalingPlanWithName(name string) (*autosca return nil, fmt.Errorf("resource %q of type autoscalingplans.ScalingPlan not found", name) } +// GetAllB2BIProfileResources retrieves all b2bi.Profile items from an AWS CloudFormation template +func (t *Template) GetAllB2BIProfileResources() map[string]*b2bi.Profile { + results := map[string]*b2bi.Profile{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *b2bi.Profile: + results[name] = resource + } + } + return results +} + +// GetB2BIProfileWithName retrieves all b2bi.Profile items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetB2BIProfileWithName(name string) (*b2bi.Profile, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *b2bi.Profile: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type b2bi.Profile not found", name) +} + +// GetAllB2BITransformerResources retrieves all b2bi.Transformer items from an AWS CloudFormation template +func (t *Template) GetAllB2BITransformerResources() map[string]*b2bi.Transformer { + results := map[string]*b2bi.Transformer{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *b2bi.Transformer: + results[name] = resource + } + } + return results +} + +// GetB2BITransformerWithName retrieves all b2bi.Transformer items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetB2BITransformerWithName(name string) (*b2bi.Transformer, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *b2bi.Transformer: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type b2bi.Transformer not found", name) +} + // GetAllBackupBackupPlanResources retrieves all backup.BackupPlan items from an AWS CloudFormation template func (t *Template) GetAllBackupBackupPlanResources() map[string]*backup.BackupPlan { results := map[string]*backup.BackupPlan{} @@ -10195,6 +10248,30 @@ func (t *Template) GetEC2SecurityGroupIngressWithName(name string) (*ec2.Securit return nil, fmt.Errorf("resource %q of type ec2.SecurityGroupIngress not found", name) } +// GetAllEC2SnapshotBlockPublicAccessResources retrieves all ec2.SnapshotBlockPublicAccess items from an AWS CloudFormation template +func (t *Template) GetAllEC2SnapshotBlockPublicAccessResources() map[string]*ec2.SnapshotBlockPublicAccess { + results := map[string]*ec2.SnapshotBlockPublicAccess{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *ec2.SnapshotBlockPublicAccess: + results[name] = resource + } + } + return results +} + +// GetEC2SnapshotBlockPublicAccessWithName retrieves all ec2.SnapshotBlockPublicAccess items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEC2SnapshotBlockPublicAccessWithName(name string) (*ec2.SnapshotBlockPublicAccess, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *ec2.SnapshotBlockPublicAccess: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type ec2.SnapshotBlockPublicAccess not found", name) +} + // GetAllEC2SpotFleetResources retrieves all ec2.SpotFleet items from an AWS CloudFormation template func (t *Template) GetAllEC2SpotFleetResources() map[string]*ec2.SpotFleet { results := map[string]*ec2.SpotFleet{} @@ -13771,6 +13848,30 @@ func (t *Template) GetGlueCrawlerWithName(name string) (*glue.Crawler, error) { return nil, fmt.Errorf("resource %q of type glue.Crawler not found", name) } +// GetAllGlueCustomEntityTypeResources retrieves all glue.CustomEntityType items from an AWS CloudFormation template +func (t *Template) GetAllGlueCustomEntityTypeResources() map[string]*glue.CustomEntityType { + results := map[string]*glue.CustomEntityType{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *glue.CustomEntityType: + results[name] = resource + } + } + return results +} + +// GetGlueCustomEntityTypeWithName retrieves all glue.CustomEntityType items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetGlueCustomEntityTypeWithName(name string) (*glue.CustomEntityType, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *glue.CustomEntityType: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type glue.CustomEntityType not found", name) +} + // GetAllGlueDataCatalogEncryptionSettingsResources retrieves all glue.DataCatalogEncryptionSettings items from an AWS CloudFormation template func (t *Template) GetAllGlueDataCatalogEncryptionSettingsResources() map[string]*glue.DataCatalogEncryptionSettings { results := map[string]*glue.DataCatalogEncryptionSettings{} diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancerequirements.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancerequirements.go index 845ccf419d..c2c19ef7a4 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancerequirements.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancerequirements.go @@ -86,9 +86,9 @@ type AutoScalingGroup_InstanceRequirements struct { MemoryGiBPerVCpu *AutoScalingGroup_MemoryGiBPerVCpuRequest `json:"MemoryGiBPerVCpu,omitempty"` // MemoryMiB AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-memorymib - MemoryMiB *AutoScalingGroup_MemoryMiBRequest `json:"MemoryMiB,omitempty"` + MemoryMiB *AutoScalingGroup_MemoryMiBRequest `json:"MemoryMiB"` // NetworkBandwidthGbps AWS CloudFormation Property // Required: false @@ -121,9 +121,9 @@ type AutoScalingGroup_InstanceRequirements struct { TotalLocalStorageGB *AutoScalingGroup_TotalLocalStorageGBRequest `json:"TotalLocalStorageGB,omitempty"` // VCpuCount AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-vcpucount - VCpuCount *AutoScalingGroup_VCpuCountRequest `json:"VCpuCount,omitempty"` + VCpuCount *AutoScalingGroup_VCpuCountRequest `json:"VCpuCount"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/b2bi/aws-b2bi-profile.go b/cloudformation/b2bi/aws-b2bi-profile.go new file mode 100644 index 0000000000..18cb74b9f0 --- /dev/null +++ b/cloudformation/b2bi/aws-b2bi-profile.go @@ -0,0 +1,143 @@ +// Code generated by "go generate". Please don't change this file directly. + +package b2bi + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Profile AWS CloudFormation Resource (AWS::B2BI::Profile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html +type Profile struct { + + // BusinessName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html#cfn-b2bi-profile-businessname + BusinessName string `json:"BusinessName"` + + // Email AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html#cfn-b2bi-profile-email + Email *string `json:"Email,omitempty"` + + // Logging AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html#cfn-b2bi-profile-logging + Logging string `json:"Logging"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html#cfn-b2bi-profile-name + Name string `json:"Name"` + + // Phone AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html#cfn-b2bi-profile-phone + Phone string `json:"Phone"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html#cfn-b2bi-profile-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 *Profile) AWSCloudFormationType() string { + return "AWS::B2BI::Profile" +} + +// 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 Profile) MarshalJSON() ([]byte, error) { + type Properties Profile + 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 *Profile) UnmarshalJSON(b []byte) error { + type Properties Profile + 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 = Profile(*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/b2bi/aws-b2bi-transformer.go b/cloudformation/b2bi/aws-b2bi-transformer.go new file mode 100644 index 0000000000..059e8f9a02 --- /dev/null +++ b/cloudformation/b2bi/aws-b2bi-transformer.go @@ -0,0 +1,153 @@ +// Code generated by "go generate". Please don't change this file directly. + +package b2bi + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Transformer AWS CloudFormation Resource (AWS::B2BI::Transformer) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html +type Transformer struct { + + // EdiType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-editype + EdiType *Transformer_EdiType `json:"EdiType"` + + // FileFormat AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-fileformat + FileFormat string `json:"FileFormat"` + + // MappingTemplate AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-mappingtemplate + MappingTemplate string `json:"MappingTemplate"` + + // ModifiedAt AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-modifiedat + ModifiedAt *string `json:"ModifiedAt,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-name + Name string `json:"Name"` + + // SampleDocument AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-sampledocument + SampleDocument *string `json:"SampleDocument,omitempty"` + + // Status AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-status + Status string `json:"Status"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html#cfn-b2bi-transformer-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 *Transformer) AWSCloudFormationType() string { + return "AWS::B2BI::Transformer" +} + +// 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 Transformer) MarshalJSON() ([]byte, error) { + type Properties Transformer + 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 *Transformer) UnmarshalJSON(b []byte) error { + type Properties Transformer + 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 = Transformer(*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/b2bi/aws-b2bi-transformer_editype.go b/cloudformation/b2bi/aws-b2bi-transformer_editype.go new file mode 100644 index 0000000000..d9703cb751 --- /dev/null +++ b/cloudformation/b2bi/aws-b2bi-transformer_editype.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package b2bi + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Transformer_EdiType AWS CloudFormation Resource (AWS::B2BI::Transformer.EdiType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-editype.html +type Transformer_EdiType struct { + + // X12Details AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-editype.html#cfn-b2bi-transformer-editype-x12details + X12Details *Transformer_X12Details `json:"X12Details"` + + // 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 *Transformer_EdiType) AWSCloudFormationType() string { + return "AWS::B2BI::Transformer.EdiType" +} diff --git a/cloudformation/b2bi/aws-b2bi-transformer_x12details.go b/cloudformation/b2bi/aws-b2bi-transformer_x12details.go new file mode 100644 index 0000000000..404acb67a0 --- /dev/null +++ b/cloudformation/b2bi/aws-b2bi-transformer_x12details.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package b2bi + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Transformer_X12Details AWS CloudFormation Resource (AWS::B2BI::Transformer.X12Details) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12details.html +type Transformer_X12Details struct { + + // TransactionSet AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12details.html#cfn-b2bi-transformer-x12details-transactionset + TransactionSet *string `json:"TransactionSet,omitempty"` + + // Version AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12details.html#cfn-b2bi-transformer-x12details-version + Version *string `json:"Version,omitempty"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *Transformer_X12Details) AWSCloudFormationType() string { + return "AWS::B2BI::Transformer.X12Details" +} diff --git a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go index 9ac0b934ec..b8774fbbe0 100644 --- a/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go +++ b/cloudformation/codedeploy/aws-codedeploy-deploymentgroup.go @@ -104,6 +104,11 @@ type DeploymentGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-tags Tags []tags.Tag `json:"Tags,omitempty"` + // TerminationHookEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-terminationhookenabled + TerminationHookEnabled *bool `json:"TerminationHookEnabled,omitempty"` + // TriggerConfigurations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations diff --git a/cloudformation/ec2/aws-ec2-instance.go b/cloudformation/ec2/aws-ec2-instance.go index 2ae2acef4a..1f675e0166 100644 --- a/cloudformation/ec2/aws-ec2-instance.go +++ b/cloudformation/ec2/aws-ec2-instance.go @@ -11,207 +11,207 @@ import ( ) // Instance AWS CloudFormation Resource (AWS::EC2::Instance) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html type Instance struct { // AdditionalInfo AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-additionalinfo + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-additionalinfo AdditionalInfo *string `json:"AdditionalInfo,omitempty"` // Affinity AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-affinity + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-affinity Affinity *string `json:"Affinity,omitempty"` // AvailabilityZone AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-availabilityzone + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-availabilityzone AvailabilityZone *string `json:"AvailabilityZone,omitempty"` // BlockDeviceMappings AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-blockdevicemappings BlockDeviceMappings []Instance_BlockDeviceMapping `json:"BlockDeviceMappings,omitempty"` // CpuOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-cpuoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-cpuoptions CpuOptions *Instance_CpuOptions `json:"CpuOptions,omitempty"` // CreditSpecification AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-creditspecification + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-creditspecification CreditSpecification *Instance_CreditSpecification `json:"CreditSpecification,omitempty"` // DisableApiTermination AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-disableapitermination + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-disableapitermination DisableApiTermination *bool `json:"DisableApiTermination,omitempty"` // EbsOptimized AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ebsoptimized + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ebsoptimized EbsOptimized *bool `json:"EbsOptimized,omitempty"` // ElasticGpuSpecifications AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications ElasticGpuSpecifications []Instance_ElasticGpuSpecification `json:"ElasticGpuSpecifications,omitempty"` // ElasticInferenceAccelerators AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators ElasticInferenceAccelerators []Instance_ElasticInferenceAccelerator `json:"ElasticInferenceAccelerators,omitempty"` // EnclaveOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-enclaveoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-enclaveoptions EnclaveOptions *Instance_EnclaveOptions `json:"EnclaveOptions,omitempty"` // HibernationOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hibernationoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hibernationoptions HibernationOptions *Instance_HibernationOptions `json:"HibernationOptions,omitempty"` // HostId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hostid HostId *string `json:"HostId,omitempty"` // HostResourceGroupArn AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostresourcegrouparn + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hostresourcegrouparn HostResourceGroupArn *string `json:"HostResourceGroupArn,omitempty"` // IamInstanceProfile AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile IamInstanceProfile *string `json:"IamInstanceProfile,omitempty"` // ImageId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-imageid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-imageid ImageId *string `json:"ImageId,omitempty"` // InstanceInitiatedShutdownBehavior AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior InstanceInitiatedShutdownBehavior *string `json:"InstanceInitiatedShutdownBehavior,omitempty"` // InstanceType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instancetype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-instancetype InstanceType *string `json:"InstanceType,omitempty"` // Ipv6AddressCount AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresscount + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ipv6addresscount Ipv6AddressCount *int `json:"Ipv6AddressCount,omitempty"` // Ipv6Addresses AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresses + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ipv6addresses Ipv6Addresses []Instance_InstanceIpv6Address `json:"Ipv6Addresses,omitempty"` // KernelId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-kernelid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-kernelid KernelId *string `json:"KernelId,omitempty"` // KeyName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-keyname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-keyname KeyName *string `json:"KeyName,omitempty"` // LaunchTemplate AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-launchtemplate + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-launchtemplate LaunchTemplate *Instance_LaunchTemplateSpecification `json:"LaunchTemplate,omitempty"` // LicenseSpecifications AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-licensespecifications + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-licensespecifications LicenseSpecifications []Instance_LicenseSpecification `json:"LicenseSpecifications,omitempty"` // Monitoring AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-monitoring + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-monitoring Monitoring *bool `json:"Monitoring,omitempty"` // NetworkInterfaces AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-networkinterfaces + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-networkinterfaces NetworkInterfaces []Instance_NetworkInterface `json:"NetworkInterfaces,omitempty"` // PlacementGroupName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-placementgroupname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-placementgroupname PlacementGroupName *string `json:"PlacementGroupName,omitempty"` // PrivateDnsNameOptions AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privatednsnameoptions + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-privatednsnameoptions PrivateDnsNameOptions *Instance_PrivateDnsNameOptions `json:"PrivateDnsNameOptions,omitempty"` // PrivateIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privateipaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-privateipaddress PrivateIpAddress *string `json:"PrivateIpAddress,omitempty"` // PropagateTagsToVolumeOnCreation AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation PropagateTagsToVolumeOnCreation *bool `json:"PropagateTagsToVolumeOnCreation,omitempty"` // RamdiskId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ramdiskid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ramdiskid RamdiskId *string `json:"RamdiskId,omitempty"` // SecurityGroupIds AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroupids + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-securitygroupids SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` // SecurityGroups AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroups + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-securitygroups SecurityGroups []string `json:"SecurityGroups,omitempty"` // SourceDestCheck AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-sourcedestcheck + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-sourcedestcheck SourceDestCheck *bool `json:"SourceDestCheck,omitempty"` // SsmAssociations AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ssmassociations + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ssmassociations SsmAssociations []Instance_SsmAssociation `json:"SsmAssociations,omitempty"` // SubnetId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-subnetid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-subnetid SubnetId *string `json:"SubnetId,omitempty"` // Tags AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tags + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-tags Tags []tags.Tag `json:"Tags,omitempty"` // Tenancy AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tenancy + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-tenancy Tenancy *string `json:"Tenancy,omitempty"` // UserData AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-userdata + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-userdata UserData *string `json:"UserData,omitempty"` // Volumes AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-volumes + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-volumes Volumes []Instance_Volume `json:"Volumes,omitempty"` // AWSCloudFormationCreationPolicy represents a CloudFormation CreationPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_associationparameter.go b/cloudformation/ec2/aws-ec2-instance_associationparameter.go index 62ea971b7b..1bb9a394cd 100644 --- a/cloudformation/ec2/aws-ec2-instance_associationparameter.go +++ b/cloudformation/ec2/aws-ec2-instance_associationparameter.go @@ -7,17 +7,17 @@ import ( ) // Instance_AssociationParameter AWS CloudFormation Resource (AWS::EC2::Instance.AssociationParameter) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html type Instance_AssociationParameter struct { // Key AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-key + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html#cfn-ec2-instance-associationparameter-key Key string `json:"Key"` // Value AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-value + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html#cfn-ec2-instance-associationparameter-value Value []string `json:"Value"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go b/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go index 880a4bf77d..454ed4da91 100644 --- a/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go +++ b/cloudformation/ec2/aws-ec2-instance_blockdevicemapping.go @@ -7,27 +7,27 @@ import ( ) // Instance_BlockDeviceMapping AWS CloudFormation Resource (AWS::EC2::Instance.BlockDeviceMapping) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html type Instance_BlockDeviceMapping struct { // DeviceName AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-devicename + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-devicename DeviceName string `json:"DeviceName"` // Ebs AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-ebs + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-ebs Ebs *Instance_Ebs `json:"Ebs,omitempty"` // NoDevice AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-nodevice - NoDevice *Instance_NoDevice `json:"NoDevice,omitempty"` + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-nodevice + NoDevice interface{} `json:"NoDevice,omitempty"` // VirtualName AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-virtualname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-virtualname VirtualName *string `json:"VirtualName,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_ebs.go b/cloudformation/ec2/aws-ec2-instance_ebs.go index d4f7835d22..6d08d22a61 100644 --- a/cloudformation/ec2/aws-ec2-instance_ebs.go +++ b/cloudformation/ec2/aws-ec2-instance_ebs.go @@ -7,42 +7,42 @@ import ( ) // Instance_Ebs AWS CloudFormation Resource (AWS::EC2::Instance.Ebs) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html type Instance_Ebs struct { // DeleteOnTermination AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-deleteontermination + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-deleteontermination DeleteOnTermination *bool `json:"DeleteOnTermination,omitempty"` // Encrypted AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-encrypted + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-encrypted Encrypted *bool `json:"Encrypted,omitempty"` // Iops AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-iops + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-iops Iops *int `json:"Iops,omitempty"` // KmsKeyId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-instance-ebs-kmskeyid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-kmskeyid KmsKeyId *string `json:"KmsKeyId,omitempty"` // SnapshotId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-snapshotid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-snapshotid SnapshotId *string `json:"SnapshotId,omitempty"` // VolumeSize AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumesize + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-volumesize VolumeSize *int `json:"VolumeSize,omitempty"` // VolumeType AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumetype + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-volumetype VolumeType *string `json:"VolumeType,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_networkinterface.go b/cloudformation/ec2/aws-ec2-instance_networkinterface.go index d7cc77ebf0..7796103aa1 100644 --- a/cloudformation/ec2/aws-ec2-instance_networkinterface.go +++ b/cloudformation/ec2/aws-ec2-instance_networkinterface.go @@ -7,72 +7,72 @@ import ( ) // Instance_NetworkInterface AWS CloudFormation Resource (AWS::EC2::Instance.NetworkInterface) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html type Instance_NetworkInterface struct { // AssociateCarrierIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-associatecarrieripaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatecarrieripaddress AssociateCarrierIpAddress *bool `json:"AssociateCarrierIpAddress,omitempty"` // AssociatePublicIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-associatepubip + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatepublicipaddress AssociatePublicIpAddress *bool `json:"AssociatePublicIpAddress,omitempty"` // DeleteOnTermination AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-delete + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-deleteontermination DeleteOnTermination *bool `json:"DeleteOnTermination,omitempty"` // Description AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-description + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-description Description *string `json:"Description,omitempty"` // DeviceIndex AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-deviceindex + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-deviceindex DeviceIndex string `json:"DeviceIndex"` // GroupSet AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-groupset + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-groupset GroupSet []string `json:"GroupSet,omitempty"` // Ipv6AddressCount AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresscount + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-ipv6addresscount Ipv6AddressCount *int `json:"Ipv6AddressCount,omitempty"` // Ipv6Addresses AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresses + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-ipv6addresses Ipv6Addresses []Instance_InstanceIpv6Address `json:"Ipv6Addresses,omitempty"` // NetworkInterfaceId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-network-iface + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-networkinterfaceid NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty"` // PrivateIpAddress AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-privateipaddress PrivateIpAddress *string `json:"PrivateIpAddress,omitempty"` // PrivateIpAddresses AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddresses + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-privateipaddresses PrivateIpAddresses []Instance_PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty"` // SecondaryPrivateIpAddressCount AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-secondprivateip + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-secondaryprivateipaddresscount SecondaryPrivateIpAddressCount *int `json:"SecondaryPrivateIpAddressCount,omitempty"` // SubnetId AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-subnetid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-subnetid SubnetId *string `json:"SubnetId,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go b/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go index 69dd11e7b9..c0e8aef95b 100644 --- a/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go +++ b/cloudformation/ec2/aws-ec2-instance_privateipaddressspecification.go @@ -7,17 +7,17 @@ import ( ) // Instance_PrivateIpAddressSpecification AWS CloudFormation Resource (AWS::EC2::Instance.PrivateIpAddressSpecification) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html type Instance_PrivateIpAddressSpecification struct { // Primary AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html#cfn-ec2-instance-privateipaddressspecification-primary Primary bool `json:"Primary"` // PrivateIpAddress AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html#cfn-ec2-instance-privateipaddressspecification-privateipaddress PrivateIpAddress string `json:"PrivateIpAddress"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_ssmassociation.go b/cloudformation/ec2/aws-ec2-instance_ssmassociation.go index d6779f9a61..4d94217017 100644 --- a/cloudformation/ec2/aws-ec2-instance_ssmassociation.go +++ b/cloudformation/ec2/aws-ec2-instance_ssmassociation.go @@ -7,17 +7,17 @@ import ( ) // Instance_SsmAssociation AWS CloudFormation Resource (AWS::EC2::Instance.SsmAssociation) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html type Instance_SsmAssociation struct { // AssociationParameters AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-associationparameters + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html#cfn-ec2-instance-ssmassociation-associationparameters AssociationParameters []Instance_AssociationParameter `json:"AssociationParameters,omitempty"` // DocumentName AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-documentname + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html#cfn-ec2-instance-ssmassociation-documentname DocumentName string `json:"DocumentName"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-instance_volume.go b/cloudformation/ec2/aws-ec2-instance_volume.go index a60cb44a28..fa88a27db7 100644 --- a/cloudformation/ec2/aws-ec2-instance_volume.go +++ b/cloudformation/ec2/aws-ec2-instance_volume.go @@ -7,17 +7,17 @@ import ( ) // Instance_Volume AWS CloudFormation Resource (AWS::EC2::Instance.Volume) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html type Instance_Volume struct { // Device AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-device + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html#cfn-ec2-instance-volume-device Device string `json:"Device"` // VolumeId AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-volumeid + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html#cfn-ec2-instance-volume-volumeid VolumeId string `json:"VolumeId"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/ec2/aws-ec2-route.go b/cloudformation/ec2/aws-ec2-route.go index 0f8a06aeb3..948df62438 100644 --- a/cloudformation/ec2/aws-ec2-route.go +++ b/cloudformation/ec2/aws-ec2-route.go @@ -18,6 +18,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-carriergatewayid CarrierGatewayId *string `json:"CarrierGatewayId,omitempty"` + // CoreNetworkArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-corenetworkarn + CoreNetworkArn *string `json:"CoreNetworkArn,omitempty"` + // DestinationCidrBlock AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock diff --git a/cloudformation/ec2/aws-ec2-snapshotblockpublicaccess.go b/cloudformation/ec2/aws-ec2-snapshotblockpublicaccess.go new file mode 100644 index 0000000000..10c2cc72be --- /dev/null +++ b/cloudformation/ec2/aws-ec2-snapshotblockpublicaccess.go @@ -0,0 +1,117 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ec2 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// SnapshotBlockPublicAccess AWS CloudFormation Resource (AWS::EC2::SnapshotBlockPublicAccess) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html +type SnapshotBlockPublicAccess struct { + + // State AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html#cfn-ec2-snapshotblockpublicaccess-state + State string `json:"State"` + + // 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 *SnapshotBlockPublicAccess) AWSCloudFormationType() string { + return "AWS::EC2::SnapshotBlockPublicAccess" +} + +// 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 SnapshotBlockPublicAccess) MarshalJSON() ([]byte, error) { + type Properties SnapshotBlockPublicAccess + 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 *SnapshotBlockPublicAccess) UnmarshalJSON(b []byte) error { + type Properties SnapshotBlockPublicAccess + 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 = SnapshotBlockPublicAccess(*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/emr/aws-emr-cluster.go b/cloudformation/emr/aws-emr-cluster.go index 05d2c26c3d..f304233277 100644 --- a/cloudformation/emr/aws-emr-cluster.go +++ b/cloudformation/emr/aws-emr-cluster.go @@ -49,11 +49,21 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-customamiid CustomAmiId *string `json:"CustomAmiId,omitempty"` + // EbsRootVolumeIops AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-ebsrootvolumeiops + EbsRootVolumeIops *int `json:"EbsRootVolumeIops,omitempty"` + // EbsRootVolumeSize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-ebsrootvolumesize EbsRootVolumeSize *int `json:"EbsRootVolumeSize,omitempty"` + // EbsRootVolumeThroughput AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-ebsrootvolumethroughput + EbsRootVolumeThroughput *int `json:"EbsRootVolumeThroughput,omitempty"` + // Instances AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-instances @@ -94,6 +104,11 @@ type Cluster struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-osreleaselabel OSReleaseLabel *string `json:"OSReleaseLabel,omitempty"` + // PlacementGroupConfigs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-placementgroupconfigs + PlacementGroupConfigs []Cluster_PlacementGroupConfig `json:"PlacementGroupConfigs,omitempty"` + // ReleaseLabel AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-releaselabel diff --git a/cloudformation/emr/aws-emr-cluster_placementgroupconfig.go b/cloudformation/emr/aws-emr-cluster_placementgroupconfig.go new file mode 100644 index 0000000000..67d9d4d11a --- /dev/null +++ b/cloudformation/emr/aws-emr-cluster_placementgroupconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package emr + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Cluster_PlacementGroupConfig AWS CloudFormation Resource (AWS::EMR::Cluster.PlacementGroupConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementgroupconfig.html +type Cluster_PlacementGroupConfig struct { + + // InstanceRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementgroupconfig.html#cfn-elasticmapreduce-cluster-placementgroupconfig-instancerole + InstanceRole string `json:"InstanceRole"` + + // PlacementStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementgroupconfig.html#cfn-elasticmapreduce-cluster-placementgroupconfig-placementstrategy + PlacementStrategy *string `json:"PlacementStrategy,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 *Cluster_PlacementGroupConfig) AWSCloudFormationType() string { + return "AWS::EMR::Cluster.PlacementGroupConfig" +} diff --git a/cloudformation/gamelift/aws-gamelift-fleet.go b/cloudformation/gamelift/aws-gamelift-fleet.go index 09717e75a2..c5a551ced2 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet.go +++ b/cloudformation/gamelift/aws-gamelift-fleet.go @@ -18,6 +18,11 @@ type Fleet struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-anywhereconfiguration AnywhereConfiguration *Fleet_AnywhereConfiguration `json:"AnywhereConfiguration,omitempty"` + // ApplyCapacity AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-applycapacity + ApplyCapacity *string `json:"ApplyCapacity,omitempty"` + // BuildId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-buildid diff --git a/cloudformation/glue/aws-glue-customentitytype.go b/cloudformation/glue/aws-glue-customentitytype.go new file mode 100644 index 0000000000..11e967d1e6 --- /dev/null +++ b/cloudformation/glue/aws-glue-customentitytype.go @@ -0,0 +1,132 @@ +// Code generated by "go generate". Please don't change this file directly. + +package glue + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// CustomEntityType AWS CloudFormation Resource (AWS::Glue::CustomEntityType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html +type CustomEntityType struct { + + // ContextWords AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-contextwords + ContextWords []string `json:"ContextWords,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-name + Name *string `json:"Name,omitempty"` + + // RegexString AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-regexstring + RegexString *string `json:"RegexString,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html#cfn-glue-customentitytype-tags + Tags interface{} `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 *CustomEntityType) AWSCloudFormationType() string { + return "AWS::Glue::CustomEntityType" +} + +// 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 CustomEntityType) MarshalJSON() ([]byte, error) { + type Properties CustomEntityType + 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 *CustomEntityType) UnmarshalJSON(b []byte) error { + type Properties CustomEntityType + 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 = CustomEntityType(*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-domain_codeeditorappsettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_codeeditorappsettings.go new file mode 100644 index 0000000000..e5705bf2dc --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_codeeditorappsettings.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_CodeEditorAppSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.CodeEditorAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-codeeditorappsettings.html +type Domain_CodeEditorAppSettings struct { + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-codeeditorappsettings.html#cfn-sagemaker-domain-codeeditorappsettings-defaultresourcespec + DefaultResourceSpec *Domain_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // LifecycleConfigArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-codeeditorappsettings.html#cfn-sagemaker-domain-codeeditorappsettings-lifecycleconfigarns + LifecycleConfigArns []string `json:"LifecycleConfigArns,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 *Domain_CodeEditorAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.CodeEditorAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_coderepository.go b/cloudformation/sagemaker/aws-sagemaker-domain_coderepository.go new file mode 100644 index 0000000000..e307124ef9 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_coderepository.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_CodeRepository AWS CloudFormation Resource (AWS::SageMaker::Domain.CodeRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-coderepository.html +type Domain_CodeRepository struct { + + // RepositoryUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-coderepository.html#cfn-sagemaker-domain-coderepository-repositoryurl + RepositoryUrl string `json:"RepositoryUrl"` + + // 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 *Domain_CodeRepository) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.CodeRepository" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_customfilesystemconfig.go b/cloudformation/sagemaker/aws-sagemaker-domain_customfilesystemconfig.go new file mode 100644 index 0000000000..39d34acbd4 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_customfilesystemconfig.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_CustomFileSystemConfig AWS CloudFormation Resource (AWS::SageMaker::Domain.CustomFileSystemConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customfilesystemconfig.html +type Domain_CustomFileSystemConfig struct { + + // EFSFileSystemConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customfilesystemconfig.html#cfn-sagemaker-domain-customfilesystemconfig-efsfilesystemconfig + EFSFileSystemConfig *Domain_EFSFileSystemConfig `json:"EFSFileSystemConfig,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 *Domain_CustomFileSystemConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.CustomFileSystemConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_customposixuserconfig.go b/cloudformation/sagemaker/aws-sagemaker-domain_customposixuserconfig.go new file mode 100644 index 0000000000..56d165e1e3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_customposixuserconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_CustomPosixUserConfig AWS CloudFormation Resource (AWS::SageMaker::Domain.CustomPosixUserConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customposixuserconfig.html +type Domain_CustomPosixUserConfig struct { + + // Gid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customposixuserconfig.html#cfn-sagemaker-domain-customposixuserconfig-gid + Gid int `json:"Gid"` + + // Uid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-customposixuserconfig.html#cfn-sagemaker-domain-customposixuserconfig-uid + Uid int `json:"Uid"` + + // 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 *Domain_CustomPosixUserConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.CustomPosixUserConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_defaultebsstoragesettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_defaultebsstoragesettings.go new file mode 100644 index 0000000000..3115e1ada3 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_defaultebsstoragesettings.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_DefaultEbsStorageSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.DefaultEbsStorageSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-defaultebsstoragesettings.html +type Domain_DefaultEbsStorageSettings struct { + + // DefaultEbsVolumeSizeInGb AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-defaultebsstoragesettings.html#cfn-sagemaker-domain-defaultebsstoragesettings-defaultebsvolumesizeingb + DefaultEbsVolumeSizeInGb int `json:"DefaultEbsVolumeSizeInGb"` + + // MaximumEbsVolumeSizeInGb AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-defaultebsstoragesettings.html#cfn-sagemaker-domain-defaultebsstoragesettings-maximumebsvolumesizeingb + MaximumEbsVolumeSizeInGb int `json:"MaximumEbsVolumeSizeInGb"` + + // 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 *Domain_DefaultEbsStorageSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.DefaultEbsStorageSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_defaultspacestoragesettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_defaultspacestoragesettings.go new file mode 100644 index 0000000000..46a8200829 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_defaultspacestoragesettings.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_DefaultSpaceStorageSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.DefaultSpaceStorageSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-defaultspacestoragesettings.html +type Domain_DefaultSpaceStorageSettings struct { + + // DefaultEbsStorageSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-defaultspacestoragesettings.html#cfn-sagemaker-domain-defaultspacestoragesettings-defaultebsstoragesettings + DefaultEbsStorageSettings *Domain_DefaultEbsStorageSettings `json:"DefaultEbsStorageSettings,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 *Domain_DefaultSpaceStorageSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.DefaultSpaceStorageSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_efsfilesystemconfig.go b/cloudformation/sagemaker/aws-sagemaker-domain_efsfilesystemconfig.go new file mode 100644 index 0000000000..5d9104de7f --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_efsfilesystemconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_EFSFileSystemConfig AWS CloudFormation Resource (AWS::SageMaker::Domain.EFSFileSystemConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-efsfilesystemconfig.html +type Domain_EFSFileSystemConfig struct { + + // FileSystemId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-efsfilesystemconfig.html#cfn-sagemaker-domain-efsfilesystemconfig-filesystemid + FileSystemId string `json:"FileSystemId"` + + // FileSystemPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-efsfilesystemconfig.html#cfn-sagemaker-domain-efsfilesystemconfig-filesystempath + FileSystemPath *string `json:"FileSystemPath,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 *Domain_EFSFileSystemConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.EFSFileSystemConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_jupyterlabappsettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_jupyterlabappsettings.go new file mode 100644 index 0000000000..8386b3c68d --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-domain_jupyterlabappsettings.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Domain_JupyterLabAppSettings AWS CloudFormation Resource (AWS::SageMaker::Domain.JupyterLabAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterlabappsettings.html +type Domain_JupyterLabAppSettings struct { + + // CodeRepositories AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterlabappsettings.html#cfn-sagemaker-domain-jupyterlabappsettings-coderepositories + CodeRepositories []Domain_CodeRepository `json:"CodeRepositories,omitempty"` + + // CustomImages AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterlabappsettings.html#cfn-sagemaker-domain-jupyterlabappsettings-customimages + CustomImages []Domain_CustomImage `json:"CustomImages,omitempty"` + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterlabappsettings.html#cfn-sagemaker-domain-jupyterlabappsettings-defaultresourcespec + DefaultResourceSpec *Domain_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // LifecycleConfigArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-jupyterlabappsettings.html#cfn-sagemaker-domain-jupyterlabappsettings-lifecycleconfigarns + LifecycleConfigArns []string `json:"LifecycleConfigArns,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 *Domain_JupyterLabAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::Domain.JupyterLabAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go b/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go index b2ee149bfa..026f706cb6 100644 --- a/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go +++ b/cloudformation/sagemaker/aws-sagemaker-domain_usersettings.go @@ -10,11 +10,36 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html type Domain_UserSettings struct { + // CodeEditorAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-codeeditorappsettings + CodeEditorAppSettings *Domain_CodeEditorAppSettings `json:"CodeEditorAppSettings,omitempty"` + + // CustomFileSystemConfigs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-customfilesystemconfigs + CustomFileSystemConfigs []Domain_CustomFileSystemConfig `json:"CustomFileSystemConfigs,omitempty"` + + // CustomPosixUserConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-customposixuserconfig + CustomPosixUserConfig *Domain_CustomPosixUserConfig `json:"CustomPosixUserConfig,omitempty"` + + // DefaultLandingUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-defaultlandinguri + DefaultLandingUri *string `json:"DefaultLandingUri,omitempty"` + // ExecutionRole AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-executionrole ExecutionRole string `json:"ExecutionRole"` + // JupyterLabAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-jupyterlabappsettings + JupyterLabAppSettings *Domain_JupyterLabAppSettings `json:"JupyterLabAppSettings,omitempty"` + // JupyterServerAppSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-jupyterserverappsettings @@ -45,6 +70,16 @@ type Domain_UserSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-sharingsettings SharingSettings *Domain_SharingSettings `json:"SharingSettings,omitempty"` + // SpaceStorageSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-spacestoragesettings + SpaceStorageSettings *Domain_DefaultSpaceStorageSettings `json:"SpaceStorageSettings,omitempty"` + + // StudioWebPortal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-usersettings.html#cfn-sagemaker-domain-usersettings-studiowebportal + StudioWebPortal *string `json:"StudioWebPortal,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_codeeditorappsettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_codeeditorappsettings.go new file mode 100644 index 0000000000..ab9ea4cbc8 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_codeeditorappsettings.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_CodeEditorAppSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.CodeEditorAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-codeeditorappsettings.html +type UserProfile_CodeEditorAppSettings struct { + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-codeeditorappsettings.html#cfn-sagemaker-userprofile-codeeditorappsettings-defaultresourcespec + DefaultResourceSpec *UserProfile_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // LifecycleConfigArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-codeeditorappsettings.html#cfn-sagemaker-userprofile-codeeditorappsettings-lifecycleconfigarns + LifecycleConfigArns []string `json:"LifecycleConfigArns,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 *UserProfile_CodeEditorAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.CodeEditorAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_coderepository.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_coderepository.go new file mode 100644 index 0000000000..34a5439d10 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_coderepository.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_CodeRepository AWS CloudFormation Resource (AWS::SageMaker::UserProfile.CodeRepository) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-coderepository.html +type UserProfile_CodeRepository struct { + + // RepositoryUrl AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-coderepository.html#cfn-sagemaker-userprofile-coderepository-repositoryurl + RepositoryUrl string `json:"RepositoryUrl"` + + // 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 *UserProfile_CodeRepository) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.CodeRepository" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_customfilesystemconfig.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_customfilesystemconfig.go new file mode 100644 index 0000000000..0e5292f141 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_customfilesystemconfig.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_CustomFileSystemConfig AWS CloudFormation Resource (AWS::SageMaker::UserProfile.CustomFileSystemConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customfilesystemconfig.html +type UserProfile_CustomFileSystemConfig struct { + + // EFSFileSystemConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customfilesystemconfig.html#cfn-sagemaker-userprofile-customfilesystemconfig-efsfilesystemconfig + EFSFileSystemConfig *UserProfile_EFSFileSystemConfig `json:"EFSFileSystemConfig,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 *UserProfile_CustomFileSystemConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.CustomFileSystemConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_customposixuserconfig.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_customposixuserconfig.go new file mode 100644 index 0000000000..9572b8fcae --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_customposixuserconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_CustomPosixUserConfig AWS CloudFormation Resource (AWS::SageMaker::UserProfile.CustomPosixUserConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customposixuserconfig.html +type UserProfile_CustomPosixUserConfig struct { + + // Gid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customposixuserconfig.html#cfn-sagemaker-userprofile-customposixuserconfig-gid + Gid int `json:"Gid"` + + // Uid AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-customposixuserconfig.html#cfn-sagemaker-userprofile-customposixuserconfig-uid + Uid int `json:"Uid"` + + // 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 *UserProfile_CustomPosixUserConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.CustomPosixUserConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_defaultebsstoragesettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_defaultebsstoragesettings.go new file mode 100644 index 0000000000..e9606b23f2 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_defaultebsstoragesettings.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_DefaultEbsStorageSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.DefaultEbsStorageSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-defaultebsstoragesettings.html +type UserProfile_DefaultEbsStorageSettings struct { + + // DefaultEbsVolumeSizeInGb AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-defaultebsstoragesettings.html#cfn-sagemaker-userprofile-defaultebsstoragesettings-defaultebsvolumesizeingb + DefaultEbsVolumeSizeInGb int `json:"DefaultEbsVolumeSizeInGb"` + + // MaximumEbsVolumeSizeInGb AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-defaultebsstoragesettings.html#cfn-sagemaker-userprofile-defaultebsstoragesettings-maximumebsvolumesizeingb + MaximumEbsVolumeSizeInGb int `json:"MaximumEbsVolumeSizeInGb"` + + // 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 *UserProfile_DefaultEbsStorageSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_defaultspacestoragesettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_defaultspacestoragesettings.go new file mode 100644 index 0000000000..ee7e1cfd29 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_defaultspacestoragesettings.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_DefaultSpaceStorageSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-defaultspacestoragesettings.html +type UserProfile_DefaultSpaceStorageSettings struct { + + // DefaultEbsStorageSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-defaultspacestoragesettings.html#cfn-sagemaker-userprofile-defaultspacestoragesettings-defaultebsstoragesettings + DefaultEbsStorageSettings *UserProfile_DefaultEbsStorageSettings `json:"DefaultEbsStorageSettings,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 *UserProfile_DefaultSpaceStorageSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_efsfilesystemconfig.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_efsfilesystemconfig.go new file mode 100644 index 0000000000..b0e7b1ec22 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_efsfilesystemconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_EFSFileSystemConfig AWS CloudFormation Resource (AWS::SageMaker::UserProfile.EFSFileSystemConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-efsfilesystemconfig.html +type UserProfile_EFSFileSystemConfig struct { + + // FileSystemId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-efsfilesystemconfig.html#cfn-sagemaker-userprofile-efsfilesystemconfig-filesystemid + FileSystemId string `json:"FileSystemId"` + + // FileSystemPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-efsfilesystemconfig.html#cfn-sagemaker-userprofile-efsfilesystemconfig-filesystempath + FileSystemPath *string `json:"FileSystemPath,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 *UserProfile_EFSFileSystemConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.EFSFileSystemConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterlabappsettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterlabappsettings.go new file mode 100644 index 0000000000..ca78e61ac5 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_jupyterlabappsettings.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// UserProfile_JupyterLabAppSettings AWS CloudFormation Resource (AWS::SageMaker::UserProfile.JupyterLabAppSettings) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterlabappsettings.html +type UserProfile_JupyterLabAppSettings struct { + + // CodeRepositories AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterlabappsettings.html#cfn-sagemaker-userprofile-jupyterlabappsettings-coderepositories + CodeRepositories []UserProfile_CodeRepository `json:"CodeRepositories,omitempty"` + + // CustomImages AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterlabappsettings.html#cfn-sagemaker-userprofile-jupyterlabappsettings-customimages + CustomImages []UserProfile_CustomImage `json:"CustomImages,omitempty"` + + // DefaultResourceSpec AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterlabappsettings.html#cfn-sagemaker-userprofile-jupyterlabappsettings-defaultresourcespec + DefaultResourceSpec *UserProfile_ResourceSpec `json:"DefaultResourceSpec,omitempty"` + + // LifecycleConfigArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-jupyterlabappsettings.html#cfn-sagemaker-userprofile-jupyterlabappsettings-lifecycleconfigarns + LifecycleConfigArns []string `json:"LifecycleConfigArns,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 *UserProfile_JupyterLabAppSettings) AWSCloudFormationType() string { + return "AWS::SageMaker::UserProfile.JupyterLabAppSettings" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go b/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go index a1cf4a4f71..8f7ffae457 100644 --- a/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go +++ b/cloudformation/sagemaker/aws-sagemaker-userprofile_usersettings.go @@ -10,11 +10,36 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html type UserProfile_UserSettings struct { + // CodeEditorAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-codeeditorappsettings + CodeEditorAppSettings *UserProfile_CodeEditorAppSettings `json:"CodeEditorAppSettings,omitempty"` + + // CustomFileSystemConfigs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-customfilesystemconfigs + CustomFileSystemConfigs []UserProfile_CustomFileSystemConfig `json:"CustomFileSystemConfigs,omitempty"` + + // CustomPosixUserConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-customposixuserconfig + CustomPosixUserConfig *UserProfile_CustomPosixUserConfig `json:"CustomPosixUserConfig,omitempty"` + + // DefaultLandingUri AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-defaultlandinguri + DefaultLandingUri *string `json:"DefaultLandingUri,omitempty"` + // ExecutionRole AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-executionrole ExecutionRole *string `json:"ExecutionRole,omitempty"` + // JupyterLabAppSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-jupyterlabappsettings + JupyterLabAppSettings *UserProfile_JupyterLabAppSettings `json:"JupyterLabAppSettings,omitempty"` + // JupyterServerAppSettings AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-jupyterserverappsettings @@ -40,6 +65,16 @@ type UserProfile_UserSettings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-sharingsettings SharingSettings *UserProfile_SharingSettings `json:"SharingSettings,omitempty"` + // SpaceStorageSettings AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-spacestoragesettings + SpaceStorageSettings *UserProfile_DefaultSpaceStorageSettings `json:"SpaceStorageSettings,omitempty"` + + // StudioWebPortal AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-userprofile-usersettings.html#cfn-sagemaker-userprofile-usersettings-studiowebportal + StudioWebPortal *string `json:"StudioWebPortal,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/securityhub/aws-securityhub-hub.go b/cloudformation/securityhub/aws-securityhub-hub.go index c42e45e484..dee41c0a5c 100644 --- a/cloudformation/securityhub/aws-securityhub-hub.go +++ b/cloudformation/securityhub/aws-securityhub-hub.go @@ -31,7 +31,7 @@ type Hub struct { // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags - Tags interface{} `json:"Tags,omitempty"` + Tags map[string]string `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/schema/cdk.go b/schema/cdk.go index 382cf0e4b9..8be632493f 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -18024,6 +18024,10 @@ var CdkSchema = `{ "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest" } }, + "required": [ + "MemoryMiB", + "VCpuCount" + ], "type": "object" }, "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { @@ -19439,6 +19443,209 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::B2BI::Profile": { + "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": { + "BusinessName": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Logging": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Phone": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BusinessName", + "Logging", + "Name", + "Phone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer": { + "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": { + "EdiType": { + "$ref": "#/definitions/AWS::B2BI::Transformer.EdiType" + }, + "FileFormat": { + "type": "string" + }, + "MappingTemplate": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SampleDocument": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EdiType", + "FileFormat", + "MappingTemplate", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Transformer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.EdiType": { + "additionalProperties": false, + "properties": { + "X12Details": { + "$ref": "#/definitions/AWS::B2BI::Transformer.X12Details" + } + }, + "required": [ + "X12Details" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.X12Details": { + "additionalProperties": false, + "properties": { + "TransactionSet": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -31615,6 +31822,9 @@ var CdkSchema = `{ }, "type": "array" }, + "TerminationHookEnabled": { + "type": "boolean" + }, "TriggerConfigurations": { "items": { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" @@ -52561,7 +52771,7 @@ var CdkSchema = `{ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -52764,11 +52974,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -56069,6 +56274,9 @@ var CdkSchema = `{ "CarrierGatewayId": { "type": "string" }, + "CoreNetworkArn": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -56555,6 +56763,71 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { @@ -64566,9 +64839,15 @@ var CdkSchema = `{ "CustomAmiId": { "type": "string" }, + "EbsRootVolumeIops": { + "type": "number" + }, "EbsRootVolumeSize": { "type": "number" }, + "EbsRootVolumeThroughput": { + "type": "number" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -64593,6 +64872,12 @@ var CdkSchema = `{ "OSReleaseLabel": { "type": "string" }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementGroupConfig" + }, + "type": "array" + }, "ReleaseLabel": { "type": "string" }, @@ -65131,6 +65416,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -76742,6 +77042,9 @@ var CdkSchema = `{ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, + "ApplyCapacity": { + "type": "string" + }, "BuildId": { "type": "string" }, @@ -78650,6 +78953,79 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Glue::CustomEntityType": { + "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": { + "ContextWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegexString": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::CustomEntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { @@ -185831,6 +186207,42 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { @@ -185850,6 +186262,38 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { @@ -185874,6 +186318,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.DomainSettings": { "additionalProperties": false, "properties": { @@ -185889,6 +186342,48 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -185997,9 +186492,27 @@ var CdkSchema = `{ "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" }, @@ -186020,6 +186533,12 @@ var CdkSchema = `{ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "required": [ @@ -191613,6 +192132,42 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { @@ -191632,6 +192187,89 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -191701,9 +192339,27 @@ var CdkSchema = `{ "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" }, @@ -191721,6 +192377,12 @@ var CdkSchema = `{ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "type": "object" @@ -193275,6 +193937,12 @@ var CdkSchema = `{ "type": "boolean" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -207594,6 +208262,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" }, + { + "$ref": "#/definitions/AWS::B2BI::Profile" + }, + { + "$ref": "#/definitions/AWS::B2BI::Transformer" + }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -208350,6 +209024,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::EC2::SnapshotBlockPublicAccess" + }, { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, @@ -208797,6 +209474,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Glue::Crawler" }, + { + "$ref": "#/definitions/AWS::Glue::CustomEntityType" + }, { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 5765ab0caf..728772d15c 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -18019,6 +18019,10 @@ "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest" } }, + "required": [ + "MemoryMiB", + "VCpuCount" + ], "type": "object" }, "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { @@ -19434,6 +19438,209 @@ ], "type": "object" }, + "AWS::B2BI::Profile": { + "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": { + "BusinessName": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Logging": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Phone": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BusinessName", + "Logging", + "Name", + "Phone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer": { + "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": { + "EdiType": { + "$ref": "#/definitions/AWS::B2BI::Transformer.EdiType" + }, + "FileFormat": { + "type": "string" + }, + "MappingTemplate": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SampleDocument": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EdiType", + "FileFormat", + "MappingTemplate", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Transformer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.EdiType": { + "additionalProperties": false, + "properties": { + "X12Details": { + "$ref": "#/definitions/AWS::B2BI::Transformer.X12Details" + } + }, + "required": [ + "X12Details" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.X12Details": { + "additionalProperties": false, + "properties": { + "TransactionSet": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -31610,6 +31817,9 @@ }, "type": "array" }, + "TerminationHookEnabled": { + "type": "boolean" + }, "TriggerConfigurations": { "items": { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" @@ -52556,7 +52766,7 @@ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -52759,11 +52969,6 @@ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -56064,6 +56269,9 @@ "CarrierGatewayId": { "type": "string" }, + "CoreNetworkArn": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -56550,6 +56758,71 @@ ], "type": "object" }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { @@ -64561,9 +64834,15 @@ "CustomAmiId": { "type": "string" }, + "EbsRootVolumeIops": { + "type": "number" + }, "EbsRootVolumeSize": { "type": "number" }, + "EbsRootVolumeThroughput": { + "type": "number" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -64588,6 +64867,12 @@ "OSReleaseLabel": { "type": "string" }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementGroupConfig" + }, + "type": "array" + }, "ReleaseLabel": { "type": "string" }, @@ -65126,6 +65411,21 @@ ], "type": "object" }, + "AWS::EMR::Cluster.PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -76737,6 +77037,9 @@ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, + "ApplyCapacity": { + "type": "string" + }, "BuildId": { "type": "string" }, @@ -78645,6 +78948,79 @@ }, "type": "object" }, + "AWS::Glue::CustomEntityType": { + "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": { + "ContextWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegexString": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::CustomEntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { @@ -185826,6 +186202,42 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { @@ -185845,6 +186257,38 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { @@ -185869,6 +186313,15 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.DomainSettings": { "additionalProperties": false, "properties": { @@ -185884,6 +186337,48 @@ }, "type": "object" }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -185992,9 +186487,27 @@ "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" }, @@ -186015,6 +186528,12 @@ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "required": [ @@ -191608,6 +192127,42 @@ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { @@ -191627,6 +192182,89 @@ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -191696,9 +192334,27 @@ "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" }, @@ -191716,6 +192372,12 @@ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "type": "object" @@ -193270,6 +193932,12 @@ "type": "boolean" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -207589,6 +208257,12 @@ { "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" }, + { + "$ref": "#/definitions/AWS::B2BI::Profile" + }, + { + "$ref": "#/definitions/AWS::B2BI::Transformer" + }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -208345,6 +209019,9 @@ { "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::EC2::SnapshotBlockPublicAccess" + }, { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, @@ -208792,6 +209469,9 @@ { "$ref": "#/definitions/AWS::Glue::Crawler" }, + { + "$ref": "#/definitions/AWS::Glue::CustomEntityType" + }, { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 923f58125b..c73ded4b72 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -18024,6 +18024,10 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest" } }, + "required": [ + "MemoryMiB", + "VCpuCount" + ], "type": "object" }, "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { @@ -19439,6 +19443,209 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::B2BI::Profile": { + "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": { + "BusinessName": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Logging": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Phone": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BusinessName", + "Logging", + "Name", + "Phone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer": { + "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": { + "EdiType": { + "$ref": "#/definitions/AWS::B2BI::Transformer.EdiType" + }, + "FileFormat": { + "type": "string" + }, + "MappingTemplate": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SampleDocument": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EdiType", + "FileFormat", + "MappingTemplate", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Transformer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.EdiType": { + "additionalProperties": false, + "properties": { + "X12Details": { + "$ref": "#/definitions/AWS::B2BI::Transformer.X12Details" + } + }, + "required": [ + "X12Details" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.X12Details": { + "additionalProperties": false, + "properties": { + "TransactionSet": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -31554,6 +31761,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "TerminationHookEnabled": { + "type": "boolean" + }, "TriggerConfigurations": { "items": { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" @@ -52500,7 +52710,7 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -52703,11 +52913,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -56008,6 +56213,9 @@ var CloudformationSchema = `{ "CarrierGatewayId": { "type": "string" }, + "CoreNetworkArn": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -56494,6 +56702,71 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { @@ -64505,9 +64778,15 @@ var CloudformationSchema = `{ "CustomAmiId": { "type": "string" }, + "EbsRootVolumeIops": { + "type": "number" + }, "EbsRootVolumeSize": { "type": "number" }, + "EbsRootVolumeThroughput": { + "type": "number" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -64532,6 +64811,12 @@ var CloudformationSchema = `{ "OSReleaseLabel": { "type": "string" }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementGroupConfig" + }, + "type": "array" + }, "ReleaseLabel": { "type": "string" }, @@ -65070,6 +65355,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -76681,6 +76981,9 @@ var CloudformationSchema = `{ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, + "ApplyCapacity": { + "type": "string" + }, "BuildId": { "type": "string" }, @@ -78589,6 +78892,79 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Glue::CustomEntityType": { + "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": { + "ContextWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegexString": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::CustomEntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { @@ -185770,6 +186146,42 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { @@ -185789,6 +186201,38 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { @@ -185813,6 +186257,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.DomainSettings": { "additionalProperties": false, "properties": { @@ -185828,6 +186281,48 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -185936,9 +186431,27 @@ var CloudformationSchema = `{ "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" }, @@ -185959,6 +186472,12 @@ var CloudformationSchema = `{ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "required": [ @@ -191552,6 +192071,42 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { @@ -191571,6 +192126,89 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -191640,9 +192278,27 @@ var CloudformationSchema = `{ "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" }, @@ -191660,6 +192316,12 @@ var CloudformationSchema = `{ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "type": "object" @@ -193214,6 +193876,12 @@ var CloudformationSchema = `{ "type": "boolean" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -207533,6 +208201,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" }, + { + "$ref": "#/definitions/AWS::B2BI::Profile" + }, + { + "$ref": "#/definitions/AWS::B2BI::Transformer" + }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -208286,6 +208960,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::EC2::SnapshotBlockPublicAccess" + }, { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, @@ -208733,6 +209410,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Glue::Crawler" }, + { + "$ref": "#/definitions/AWS::Glue::CustomEntityType" + }, { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index f1fb158b09..57ce5027ff 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -18019,6 +18019,10 @@ "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest" } }, + "required": [ + "MemoryMiB", + "VCpuCount" + ], "type": "object" }, "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { @@ -19434,6 +19438,209 @@ ], "type": "object" }, + "AWS::B2BI::Profile": { + "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": { + "BusinessName": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Logging": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Phone": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BusinessName", + "Logging", + "Name", + "Phone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer": { + "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": { + "EdiType": { + "$ref": "#/definitions/AWS::B2BI::Transformer.EdiType" + }, + "FileFormat": { + "type": "string" + }, + "MappingTemplate": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SampleDocument": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EdiType", + "FileFormat", + "MappingTemplate", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Transformer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.EdiType": { + "additionalProperties": false, + "properties": { + "X12Details": { + "$ref": "#/definitions/AWS::B2BI::Transformer.X12Details" + } + }, + "required": [ + "X12Details" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.X12Details": { + "additionalProperties": false, + "properties": { + "TransactionSet": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -31549,6 +31756,9 @@ }, "type": "array" }, + "TerminationHookEnabled": { + "type": "boolean" + }, "TriggerConfigurations": { "items": { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" @@ -52495,7 +52705,7 @@ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -52698,11 +52908,6 @@ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -56003,6 +56208,9 @@ "CarrierGatewayId": { "type": "string" }, + "CoreNetworkArn": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -56489,6 +56697,71 @@ ], "type": "object" }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { @@ -64500,9 +64773,15 @@ "CustomAmiId": { "type": "string" }, + "EbsRootVolumeIops": { + "type": "number" + }, "EbsRootVolumeSize": { "type": "number" }, + "EbsRootVolumeThroughput": { + "type": "number" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -64527,6 +64806,12 @@ "OSReleaseLabel": { "type": "string" }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementGroupConfig" + }, + "type": "array" + }, "ReleaseLabel": { "type": "string" }, @@ -65065,6 +65350,21 @@ ], "type": "object" }, + "AWS::EMR::Cluster.PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -76676,6 +76976,9 @@ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, + "ApplyCapacity": { + "type": "string" + }, "BuildId": { "type": "string" }, @@ -78584,6 +78887,79 @@ }, "type": "object" }, + "AWS::Glue::CustomEntityType": { + "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": { + "ContextWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegexString": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::CustomEntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { @@ -185765,6 +186141,42 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { @@ -185784,6 +186196,38 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { @@ -185808,6 +186252,15 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.DomainSettings": { "additionalProperties": false, "properties": { @@ -185823,6 +186276,48 @@ }, "type": "object" }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -185931,9 +186426,27 @@ "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" }, @@ -185954,6 +186467,12 @@ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "required": [ @@ -191547,6 +192066,42 @@ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { @@ -191566,6 +192121,89 @@ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -191635,9 +192273,27 @@ "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" }, @@ -191655,6 +192311,12 @@ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "type": "object" @@ -193209,6 +193871,12 @@ "type": "boolean" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -207528,6 +208196,12 @@ { "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" }, + { + "$ref": "#/definitions/AWS::B2BI::Profile" + }, + { + "$ref": "#/definitions/AWS::B2BI::Transformer" + }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -208281,6 +208955,9 @@ { "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::EC2::SnapshotBlockPublicAccess" + }, { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, @@ -208728,6 +209405,9 @@ { "$ref": "#/definitions/AWS::Glue::Crawler" }, + { + "$ref": "#/definitions/AWS::Glue::CustomEntityType" + }, { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, diff --git a/schema/sam.go b/schema/sam.go index a4b1cc4f64..d86b30520a 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -18024,6 +18024,10 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest" } }, + "required": [ + "MemoryMiB", + "VCpuCount" + ], "type": "object" }, "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { @@ -19439,6 +19443,209 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::B2BI::Profile": { + "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": { + "BusinessName": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Logging": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Phone": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BusinessName", + "Logging", + "Name", + "Phone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer": { + "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": { + "EdiType": { + "$ref": "#/definitions/AWS::B2BI::Transformer.EdiType" + }, + "FileFormat": { + "type": "string" + }, + "MappingTemplate": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SampleDocument": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EdiType", + "FileFormat", + "MappingTemplate", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Transformer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.EdiType": { + "additionalProperties": false, + "properties": { + "X12Details": { + "$ref": "#/definitions/AWS::B2BI::Transformer.X12Details" + } + }, + "required": [ + "X12Details" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.X12Details": { + "additionalProperties": false, + "properties": { + "TransactionSet": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -31554,6 +31761,9 @@ var SamSchema = `{ }, "type": "array" }, + "TerminationHookEnabled": { + "type": "boolean" + }, "TriggerConfigurations": { "items": { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" @@ -52500,7 +52710,7 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -52703,11 +52913,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -56008,6 +56213,9 @@ var SamSchema = `{ "CarrierGatewayId": { "type": "string" }, + "CoreNetworkArn": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -56494,6 +56702,71 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { @@ -64505,9 +64778,15 @@ var SamSchema = `{ "CustomAmiId": { "type": "string" }, + "EbsRootVolumeIops": { + "type": "number" + }, "EbsRootVolumeSize": { "type": "number" }, + "EbsRootVolumeThroughput": { + "type": "number" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -64532,6 +64811,12 @@ var SamSchema = `{ "OSReleaseLabel": { "type": "string" }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementGroupConfig" + }, + "type": "array" + }, "ReleaseLabel": { "type": "string" }, @@ -65070,6 +65355,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EMR::Cluster.PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -76681,6 +76981,9 @@ var SamSchema = `{ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, + "ApplyCapacity": { + "type": "string" + }, "BuildId": { "type": "string" }, @@ -78589,6 +78892,79 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Glue::CustomEntityType": { + "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": { + "ContextWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegexString": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::CustomEntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { @@ -185770,6 +186146,42 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { @@ -185789,6 +186201,38 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { @@ -185813,6 +186257,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.DomainSettings": { "additionalProperties": false, "properties": { @@ -185828,6 +186281,48 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -185936,9 +186431,27 @@ var SamSchema = `{ "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" }, @@ -185959,6 +186472,12 @@ var SamSchema = `{ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "required": [ @@ -191552,6 +192071,42 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { @@ -191571,6 +192126,89 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -191640,9 +192278,27 @@ var SamSchema = `{ "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" }, @@ -191660,6 +192316,12 @@ var SamSchema = `{ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "type": "object" @@ -193214,6 +193876,12 @@ var SamSchema = `{ "type": "boolean" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -210615,6 +211283,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" }, + { + "$ref": "#/definitions/AWS::B2BI::Profile" + }, + { + "$ref": "#/definitions/AWS::B2BI::Transformer" + }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -211368,6 +212042,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::EC2::SnapshotBlockPublicAccess" + }, { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, @@ -211815,6 +212492,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Glue::Crawler" }, + { + "$ref": "#/definitions/AWS::Glue::CustomEntityType" + }, { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index 3ee21f26b2..0ba23f70c3 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -18019,6 +18019,10 @@ "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest" } }, + "required": [ + "MemoryMiB", + "VCpuCount" + ], "type": "object" }, "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { @@ -19434,6 +19438,209 @@ ], "type": "object" }, + "AWS::B2BI::Profile": { + "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": { + "BusinessName": { + "type": "string" + }, + "Email": { + "type": "string" + }, + "Logging": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Phone": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BusinessName", + "Logging", + "Name", + "Phone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Profile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer": { + "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": { + "EdiType": { + "$ref": "#/definitions/AWS::B2BI::Transformer.EdiType" + }, + "FileFormat": { + "type": "string" + }, + "MappingTemplate": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SampleDocument": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EdiType", + "FileFormat", + "MappingTemplate", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::B2BI::Transformer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.EdiType": { + "additionalProperties": false, + "properties": { + "X12Details": { + "$ref": "#/definitions/AWS::B2BI::Transformer.X12Details" + } + }, + "required": [ + "X12Details" + ], + "type": "object" + }, + "AWS::B2BI::Transformer.X12Details": { + "additionalProperties": false, + "properties": { + "TransactionSet": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -31549,6 +31756,9 @@ }, "type": "array" }, + "TerminationHookEnabled": { + "type": "boolean" + }, "TriggerConfigurations": { "items": { "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" @@ -52495,7 +52705,7 @@ "$ref": "#/definitions/AWS::EC2::Instance.Ebs" }, "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + "type": "object" }, "VirtualName": { "type": "string" @@ -52698,11 +52908,6 @@ ], "type": "object" }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, "AWS::EC2::Instance.PrivateDnsNameOptions": { "additionalProperties": false, "properties": { @@ -56003,6 +56208,9 @@ "CarrierGatewayId": { "type": "string" }, + "CoreNetworkArn": { + "type": "string" + }, "DestinationCidrBlock": { "type": "string" }, @@ -56489,6 +56697,71 @@ ], "type": "object" }, + "AWS::EC2::SnapshotBlockPublicAccess": { + "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": { + "State": { + "type": "string" + } + }, + "required": [ + "State" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SnapshotBlockPublicAccess" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EC2::SpotFleet": { "additionalProperties": false, "properties": { @@ -64500,9 +64773,15 @@ "CustomAmiId": { "type": "string" }, + "EbsRootVolumeIops": { + "type": "number" + }, "EbsRootVolumeSize": { "type": "number" }, + "EbsRootVolumeThroughput": { + "type": "number" + }, "Instances": { "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" }, @@ -64527,6 +64806,12 @@ "OSReleaseLabel": { "type": "string" }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementGroupConfig" + }, + "type": "array" + }, "ReleaseLabel": { "type": "string" }, @@ -65065,6 +65350,21 @@ ], "type": "object" }, + "AWS::EMR::Cluster.PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, "AWS::EMR::Cluster.PlacementType": { "additionalProperties": false, "properties": { @@ -76676,6 +76976,9 @@ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, + "ApplyCapacity": { + "type": "string" + }, "BuildId": { "type": "string" }, @@ -78584,6 +78887,79 @@ }, "type": "object" }, + "AWS::Glue::CustomEntityType": { + "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": { + "ContextWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegexString": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::CustomEntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, "AWS::Glue::DataCatalogEncryptionSettings": { "additionalProperties": false, "properties": { @@ -185765,6 +186141,42 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { @@ -185784,6 +186196,38 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { @@ -185808,6 +186252,15 @@ ], "type": "object" }, + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.DomainSettings": { "additionalProperties": false, "properties": { @@ -185823,6 +186276,48 @@ }, "type": "object" }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::Domain.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -185931,9 +186426,27 @@ "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" }, @@ -185954,6 +186467,12 @@ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "required": [ @@ -191547,6 +192066,42 @@ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomFileSystemConfig": { + "additionalProperties": false, + "properties": { + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.EFSFileSystemConfig" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.CustomImage": { "additionalProperties": false, "properties": { @@ -191566,6 +192121,89 @@ ], "type": "object" }, + "AWS::SageMaker::UserProfile.CustomPosixUserConfig": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultEbsStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsVolumeSizeInGb": { + "type": "number" + }, + "MaximumEbsVolumeSizeInGb": { + "type": "number" + } + }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "FileSystemPath": { + "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeRepository" + }, + "type": "array" + }, + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { "additionalProperties": false, "properties": { @@ -191635,9 +192273,27 @@ "AWS::SageMaker::UserProfile.UserSettings": { "additionalProperties": false, "properties": { + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomFileSystemConfig" + }, + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "type": "string" + }, "ExecutionRole": { "type": "string" }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterLabAppSettings" + }, "JupyterServerAppSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" }, @@ -191655,6 +192311,12 @@ }, "SharingSettings": { "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.DefaultSpaceStorageSettings" + }, + "StudioWebPortal": { + "type": "string" } }, "type": "object" @@ -193209,6 +193871,12 @@ "type": "boolean" }, "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "type": "object" } }, @@ -210610,6 +211278,12 @@ { "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" }, + { + "$ref": "#/definitions/AWS::B2BI::Profile" + }, + { + "$ref": "#/definitions/AWS::B2BI::Transformer" + }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -211363,6 +212037,9 @@ { "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::EC2::SnapshotBlockPublicAccess" + }, { "$ref": "#/definitions/AWS::EC2::SpotFleet" }, @@ -211810,6 +212487,9 @@ { "$ref": "#/definitions/AWS::Glue::Crawler" }, + { + "$ref": "#/definitions/AWS::Glue::CustomEntityType" + }, { "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" },