diff --git a/cloudformation/all.go b/cloudformation/all.go index d740fc03d7..4308df4745 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -478,6 +478,7 @@ func AllResources() map[string]Resource { "AWS::Connect::RoutingProfile": &connect.RoutingProfile{}, "AWS::Connect::Rule": &connect.Rule{}, "AWS::Connect::SecurityKey": &connect.SecurityKey{}, + "AWS::Connect::SecurityProfile": &connect.SecurityProfile{}, "AWS::Connect::TaskTemplate": &connect.TaskTemplate{}, "AWS::Connect::TrafficDistributionGroup": &connect.TrafficDistributionGroup{}, "AWS::Connect::User": &connect.User{}, @@ -7176,6 +7177,30 @@ func (t *Template) GetConnectSecurityKeyWithName(name string) (*connect.Security return nil, fmt.Errorf("resource %q of type connect.SecurityKey not found", name) } +// GetAllConnectSecurityProfileResources retrieves all connect.SecurityProfile items from an AWS CloudFormation template +func (t *Template) GetAllConnectSecurityProfileResources() map[string]*connect.SecurityProfile { + results := map[string]*connect.SecurityProfile{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *connect.SecurityProfile: + results[name] = resource + } + } + return results +} + +// GetConnectSecurityProfileWithName retrieves all connect.SecurityProfile items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetConnectSecurityProfileWithName(name string) (*connect.SecurityProfile, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *connect.SecurityProfile: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type connect.SecurityProfile not found", name) +} + // GetAllConnectTaskTemplateResources retrieves all connect.TaskTemplate items from an AWS CloudFormation template func (t *Template) GetAllConnectTaskTemplateResources() map[string]*connect.TaskTemplate { results := map[string]*connect.TaskTemplate{} diff --git a/cloudformation/connect/aws-connect-securityprofile.go b/cloudformation/connect/aws-connect-securityprofile.go new file mode 100644 index 0000000000..e916bfd3ec --- /dev/null +++ b/cloudformation/connect/aws-connect-securityprofile.go @@ -0,0 +1,148 @@ +// Code generated by "go generate". Please don't change this file directly. + +package connect + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// SecurityProfile AWS CloudFormation Resource (AWS::Connect::SecurityProfile) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html +type SecurityProfile struct { + + // AllowedAccessControlTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-allowedaccesscontroltags + AllowedAccessControlTags []tags.Tag `json:"AllowedAccessControlTags,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-description + Description *string `json:"Description,omitempty"` + + // InstanceArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-instancearn + InstanceArn string `json:"InstanceArn"` + + // Permissions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-permissions + Permissions []string `json:"Permissions,omitempty"` + + // SecurityProfileName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-securityprofilename + SecurityProfileName string `json:"SecurityProfileName"` + + // TagRestrictedResources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-tagrestrictedresources + TagRestrictedResources []string `json:"TagRestrictedResources,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html#cfn-connect-securityprofile-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 *SecurityProfile) AWSCloudFormationType() string { + return "AWS::Connect::SecurityProfile" +} + +// 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 SecurityProfile) MarshalJSON() ([]byte, error) { + type Properties SecurityProfile + 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 *SecurityProfile) UnmarshalJSON(b []byte) error { + type Properties SecurityProfile + 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 = SecurityProfile(*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/ec2/aws-ec2-route.go b/cloudformation/ec2/aws-ec2-route.go index f41788673b..0f8a06aeb3 100644 --- a/cloudformation/ec2/aws-ec2-route.go +++ b/cloudformation/ec2/aws-ec2-route.go @@ -28,6 +28,11 @@ type Route struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationipv6cidrblock DestinationIpv6CidrBlock *string `json:"DestinationIpv6CidrBlock,omitempty"` + // DestinationPrefixListId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationprefixlistid + DestinationPrefixListId *string `json:"DestinationPrefixListId,omitempty"` + // EgressOnlyInternetGatewayId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-egressonlyinternetgatewayid diff --git a/cloudformation/efs/aws-efs-filesystem.go b/cloudformation/efs/aws-efs-filesystem.go index e6a4bacc73..8f88fa72be 100644 --- a/cloudformation/efs/aws-efs-filesystem.go +++ b/cloudformation/efs/aws-efs-filesystem.go @@ -63,6 +63,11 @@ type FileSystem struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-provisionedthroughputinmibps ProvisionedThroughputInMibps *float64 `json:"ProvisionedThroughputInMibps,omitempty"` + // ReplicationConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-replicationconfiguration + ReplicationConfiguration *FileSystem_ReplicationConfiguration `json:"ReplicationConfiguration,omitempty"` + // ThroughputMode AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-throughputmode diff --git a/cloudformation/efs/aws-efs-filesystem_replicationconfiguration.go b/cloudformation/efs/aws-efs-filesystem_replicationconfiguration.go new file mode 100644 index 0000000000..b14d2b1c15 --- /dev/null +++ b/cloudformation/efs/aws-efs-filesystem_replicationconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package efs + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// FileSystem_ReplicationConfiguration AWS CloudFormation Resource (AWS::EFS::FileSystem.ReplicationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationconfiguration.html +type FileSystem_ReplicationConfiguration struct { + + // Destinations AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationconfiguration.html#cfn-efs-filesystem-replicationconfiguration-destinations + Destinations []FileSystem_ReplicationDestination `json:"Destinations,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 *FileSystem_ReplicationConfiguration) AWSCloudFormationType() string { + return "AWS::EFS::FileSystem.ReplicationConfiguration" +} diff --git a/cloudformation/efs/aws-efs-filesystem_replicationdestination.go b/cloudformation/efs/aws-efs-filesystem_replicationdestination.go new file mode 100644 index 0000000000..80353bce71 --- /dev/null +++ b/cloudformation/efs/aws-efs-filesystem_replicationdestination.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package efs + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// FileSystem_ReplicationDestination AWS CloudFormation Resource (AWS::EFS::FileSystem.ReplicationDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html +type FileSystem_ReplicationDestination struct { + + // AvailabilityZoneName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-availabilityzonename + AvailabilityZoneName *string `json:"AvailabilityZoneName,omitempty"` + + // FileSystemId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-filesystemid + FileSystemId *string `json:"FileSystemId,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-kmskeyid + KmsKeyId *string `json:"KmsKeyId,omitempty"` + + // Region AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-region + Region *string `json:"Region,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 *FileSystem_ReplicationDestination) AWSCloudFormationType() string { + return "AWS::EFS::FileSystem.ReplicationDestination" +} diff --git a/cloudformation/lightsail/aws-lightsail-container.go b/cloudformation/lightsail/aws-lightsail-container.go index 5c1feb11a1..bcb1034960 100644 --- a/cloudformation/lightsail/aws-lightsail-container.go +++ b/cloudformation/lightsail/aws-lightsail-container.go @@ -29,6 +29,11 @@ type Container struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-power Power string `json:"Power"` + // PrivateRegistryAccess AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-privateregistryaccess + PrivateRegistryAccess *Container_PrivateRegistryAccess `json:"PrivateRegistryAccess,omitempty"` + // PublicDomainNames AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-publicdomainnames diff --git a/cloudformation/lightsail/aws-lightsail-container_ecrimagepullerrole.go b/cloudformation/lightsail/aws-lightsail-container_ecrimagepullerrole.go new file mode 100644 index 0000000000..3ded219a2f --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_ecrimagepullerrole.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lightsail + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Container_EcrImagePullerRole AWS CloudFormation Resource (AWS::Lightsail::Container.EcrImagePullerRole) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-ecrimagepullerrole.html +type Container_EcrImagePullerRole struct { + + // IsActive AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-ecrimagepullerrole.html#cfn-lightsail-container-ecrimagepullerrole-isactive + IsActive *bool `json:"IsActive,omitempty"` + + // PrincipalArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-ecrimagepullerrole.html#cfn-lightsail-container-ecrimagepullerrole-principalarn + PrincipalArn *string `json:"PrincipalArn,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 *Container_EcrImagePullerRole) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.EcrImagePullerRole" +} diff --git a/cloudformation/lightsail/aws-lightsail-container_privateregistryaccess.go b/cloudformation/lightsail/aws-lightsail-container_privateregistryaccess.go new file mode 100644 index 0000000000..7248b0dd33 --- /dev/null +++ b/cloudformation/lightsail/aws-lightsail-container_privateregistryaccess.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lightsail + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Container_PrivateRegistryAccess AWS CloudFormation Resource (AWS::Lightsail::Container.PrivateRegistryAccess) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-privateregistryaccess.html +type Container_PrivateRegistryAccess struct { + + // EcrImagePullerRole AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-privateregistryaccess.html#cfn-lightsail-container-privateregistryaccess-ecrimagepullerrole + EcrImagePullerRole *Container_EcrImagePullerRole `json:"EcrImagePullerRole,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 *Container_PrivateRegistryAccess) AWSCloudFormationType() string { + return "AWS::Lightsail::Container.PrivateRegistryAccess" +} diff --git a/cloudformation/macie/aws-macie-customdataidentifier.go b/cloudformation/macie/aws-macie-customdataidentifier.go index df0d1bb240..1eed861cb0 100644 --- a/cloudformation/macie/aws-macie-customdataidentifier.go +++ b/cloudformation/macie/aws-macie-customdataidentifier.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" ) // CustomDataIdentifier AWS CloudFormation Resource (AWS::Macie::CustomDataIdentifier) @@ -43,6 +44,11 @@ type CustomDataIdentifier struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-regex Regex string `json:"Regex"` + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html#cfn-macie-customdataidentifier-tags + Tags []tags.Tag `json:"Tags,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/schema/cdk.go b/schema/cdk.go index e6e66a40bf..0425012e8c 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -37793,6 +37793,102 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Connect::SecurityProfile": { + "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": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "InstanceArn": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityProfileName": { + "type": "string" + }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "SecurityProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -53759,6 +53855,9 @@ var CdkSchema = `{ "DestinationIpv6CidrBlock": { "type": "string" }, + "DestinationPrefixListId": { + "type": "string" + }, "EgressOnlyInternetGatewayId": { "type": "string" }, @@ -61048,6 +61147,9 @@ var CdkSchema = `{ "ProvisionedThroughputInMibps": { "type": "number" }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationConfiguration" + }, "ThroughputMode": { "type": "string" } @@ -61114,6 +61216,36 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::EFS::FileSystem.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::MountTarget": { "additionalProperties": false, "properties": { @@ -106853,6 +106985,9 @@ var CdkSchema = `{ "Power": { "type": "string" }, + "PrivateRegistryAccess": { + "$ref": "#/definitions/AWS::Lightsail::Container.PrivateRegistryAccess" + }, "PublicDomainNames": { "items": { "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" @@ -106945,6 +107080,18 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Container.EcrImagePullerRole": { + "additionalProperties": false, + "properties": { + "IsActive": { + "type": "boolean" + }, + "PrincipalArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.EnvironmentVariable": { "additionalProperties": false, "properties": { @@ -106993,6 +107140,15 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Container.PrivateRegistryAccess": { + "additionalProperties": false, + "properties": { + "EcrImagePullerRole": { + "$ref": "#/definitions/AWS::Lightsail::Container.EcrImagePullerRole" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.PublicDomainName": { "additionalProperties": false, "properties": { @@ -111503,6 +111659,12 @@ var CdkSchema = `{ }, "Regex": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -200833,6 +200995,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Connect::SecurityKey" }, + { + "$ref": "#/definitions/AWS::Connect::SecurityProfile" + }, { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 18a2362175..9f7643bb4d 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -37788,6 +37788,102 @@ ], "type": "object" }, + "AWS::Connect::SecurityProfile": { + "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": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "InstanceArn": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityProfileName": { + "type": "string" + }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "SecurityProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -53754,6 +53850,9 @@ "DestinationIpv6CidrBlock": { "type": "string" }, + "DestinationPrefixListId": { + "type": "string" + }, "EgressOnlyInternetGatewayId": { "type": "string" }, @@ -61043,6 +61142,9 @@ "ProvisionedThroughputInMibps": { "type": "number" }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationConfiguration" + }, "ThroughputMode": { "type": "string" } @@ -61109,6 +61211,36 @@ }, "type": "object" }, + "AWS::EFS::FileSystem.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::MountTarget": { "additionalProperties": false, "properties": { @@ -106848,6 +106980,9 @@ "Power": { "type": "string" }, + "PrivateRegistryAccess": { + "$ref": "#/definitions/AWS::Lightsail::Container.PrivateRegistryAccess" + }, "PublicDomainNames": { "items": { "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" @@ -106940,6 +107075,18 @@ }, "type": "object" }, + "AWS::Lightsail::Container.EcrImagePullerRole": { + "additionalProperties": false, + "properties": { + "IsActive": { + "type": "boolean" + }, + "PrincipalArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.EnvironmentVariable": { "additionalProperties": false, "properties": { @@ -106988,6 +107135,15 @@ }, "type": "object" }, + "AWS::Lightsail::Container.PrivateRegistryAccess": { + "additionalProperties": false, + "properties": { + "EcrImagePullerRole": { + "$ref": "#/definitions/AWS::Lightsail::Container.EcrImagePullerRole" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.PublicDomainName": { "additionalProperties": false, "properties": { @@ -111498,6 +111654,12 @@ }, "Regex": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -200828,6 +200990,9 @@ { "$ref": "#/definitions/AWS::Connect::SecurityKey" }, + { + "$ref": "#/definitions/AWS::Connect::SecurityProfile" + }, { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index eafe6c1aa4..320a58509c 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -37732,6 +37732,102 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Connect::SecurityProfile": { + "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": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "InstanceArn": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityProfileName": { + "type": "string" + }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "SecurityProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -53698,6 +53794,9 @@ var CloudformationSchema = `{ "DestinationIpv6CidrBlock": { "type": "string" }, + "DestinationPrefixListId": { + "type": "string" + }, "EgressOnlyInternetGatewayId": { "type": "string" }, @@ -60987,6 +61086,9 @@ var CloudformationSchema = `{ "ProvisionedThroughputInMibps": { "type": "number" }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationConfiguration" + }, "ThroughputMode": { "type": "string" } @@ -61053,6 +61155,36 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EFS::FileSystem.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::MountTarget": { "additionalProperties": false, "properties": { @@ -106792,6 +106924,9 @@ var CloudformationSchema = `{ "Power": { "type": "string" }, + "PrivateRegistryAccess": { + "$ref": "#/definitions/AWS::Lightsail::Container.PrivateRegistryAccess" + }, "PublicDomainNames": { "items": { "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" @@ -106884,6 +107019,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Container.EcrImagePullerRole": { + "additionalProperties": false, + "properties": { + "IsActive": { + "type": "boolean" + }, + "PrincipalArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.EnvironmentVariable": { "additionalProperties": false, "properties": { @@ -106932,6 +107079,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Container.PrivateRegistryAccess": { + "additionalProperties": false, + "properties": { + "EcrImagePullerRole": { + "$ref": "#/definitions/AWS::Lightsail::Container.EcrImagePullerRole" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.PublicDomainName": { "additionalProperties": false, "properties": { @@ -111442,6 +111598,12 @@ var CloudformationSchema = `{ }, "Regex": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -200769,6 +200931,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Connect::SecurityKey" }, + { + "$ref": "#/definitions/AWS::Connect::SecurityProfile" + }, { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 00021e0342..51a73d528a 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -37727,6 +37727,102 @@ ], "type": "object" }, + "AWS::Connect::SecurityProfile": { + "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": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "InstanceArn": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityProfileName": { + "type": "string" + }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "SecurityProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -53693,6 +53789,9 @@ "DestinationIpv6CidrBlock": { "type": "string" }, + "DestinationPrefixListId": { + "type": "string" + }, "EgressOnlyInternetGatewayId": { "type": "string" }, @@ -60982,6 +61081,9 @@ "ProvisionedThroughputInMibps": { "type": "number" }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationConfiguration" + }, "ThroughputMode": { "type": "string" } @@ -61048,6 +61150,36 @@ }, "type": "object" }, + "AWS::EFS::FileSystem.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::MountTarget": { "additionalProperties": false, "properties": { @@ -106787,6 +106919,9 @@ "Power": { "type": "string" }, + "PrivateRegistryAccess": { + "$ref": "#/definitions/AWS::Lightsail::Container.PrivateRegistryAccess" + }, "PublicDomainNames": { "items": { "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" @@ -106879,6 +107014,18 @@ }, "type": "object" }, + "AWS::Lightsail::Container.EcrImagePullerRole": { + "additionalProperties": false, + "properties": { + "IsActive": { + "type": "boolean" + }, + "PrincipalArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.EnvironmentVariable": { "additionalProperties": false, "properties": { @@ -106927,6 +107074,15 @@ }, "type": "object" }, + "AWS::Lightsail::Container.PrivateRegistryAccess": { + "additionalProperties": false, + "properties": { + "EcrImagePullerRole": { + "$ref": "#/definitions/AWS::Lightsail::Container.EcrImagePullerRole" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.PublicDomainName": { "additionalProperties": false, "properties": { @@ -111437,6 +111593,12 @@ }, "Regex": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -200764,6 +200926,9 @@ { "$ref": "#/definitions/AWS::Connect::SecurityKey" }, + { + "$ref": "#/definitions/AWS::Connect::SecurityProfile" + }, { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, diff --git a/schema/sam.go b/schema/sam.go index d16baf8ffd..e62241edf5 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -37732,6 +37732,102 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Connect::SecurityProfile": { + "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": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "InstanceArn": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityProfileName": { + "type": "string" + }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "SecurityProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -53698,6 +53794,9 @@ var SamSchema = `{ "DestinationIpv6CidrBlock": { "type": "string" }, + "DestinationPrefixListId": { + "type": "string" + }, "EgressOnlyInternetGatewayId": { "type": "string" }, @@ -60987,6 +61086,9 @@ var SamSchema = `{ "ProvisionedThroughputInMibps": { "type": "number" }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationConfiguration" + }, "ThroughputMode": { "type": "string" } @@ -61053,6 +61155,36 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EFS::FileSystem.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::MountTarget": { "additionalProperties": false, "properties": { @@ -106792,6 +106924,9 @@ var SamSchema = `{ "Power": { "type": "string" }, + "PrivateRegistryAccess": { + "$ref": "#/definitions/AWS::Lightsail::Container.PrivateRegistryAccess" + }, "PublicDomainNames": { "items": { "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" @@ -106884,6 +107019,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Container.EcrImagePullerRole": { + "additionalProperties": false, + "properties": { + "IsActive": { + "type": "boolean" + }, + "PrincipalArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.EnvironmentVariable": { "additionalProperties": false, "properties": { @@ -106932,6 +107079,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lightsail::Container.PrivateRegistryAccess": { + "additionalProperties": false, + "properties": { + "EcrImagePullerRole": { + "$ref": "#/definitions/AWS::Lightsail::Container.EcrImagePullerRole" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.PublicDomainName": { "additionalProperties": false, "properties": { @@ -111442,6 +111598,12 @@ var SamSchema = `{ }, "Regex": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -203851,6 +204013,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Connect::SecurityKey" }, + { + "$ref": "#/definitions/AWS::Connect::SecurityProfile" + }, { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index e8e5af7e9c..77cfca7230 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -37727,6 +37727,102 @@ ], "type": "object" }, + "AWS::Connect::SecurityProfile": { + "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": { + "AllowedAccessControlTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "InstanceArn": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityProfileName": { + "type": "string" + }, + "TagRestrictedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "SecurityProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Connect::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::Connect::TaskTemplate": { "additionalProperties": false, "properties": { @@ -53693,6 +53789,9 @@ "DestinationIpv6CidrBlock": { "type": "string" }, + "DestinationPrefixListId": { + "type": "string" + }, "EgressOnlyInternetGatewayId": { "type": "string" }, @@ -60982,6 +61081,9 @@ "ProvisionedThroughputInMibps": { "type": "number" }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationConfiguration" + }, "ThroughputMode": { "type": "string" } @@ -61048,6 +61150,36 @@ }, "type": "object" }, + "AWS::EFS::FileSystem.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ReplicationDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::MountTarget": { "additionalProperties": false, "properties": { @@ -106787,6 +106919,9 @@ "Power": { "type": "string" }, + "PrivateRegistryAccess": { + "$ref": "#/definitions/AWS::Lightsail::Container.PrivateRegistryAccess" + }, "PublicDomainNames": { "items": { "$ref": "#/definitions/AWS::Lightsail::Container.PublicDomainName" @@ -106879,6 +107014,18 @@ }, "type": "object" }, + "AWS::Lightsail::Container.EcrImagePullerRole": { + "additionalProperties": false, + "properties": { + "IsActive": { + "type": "boolean" + }, + "PrincipalArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.EnvironmentVariable": { "additionalProperties": false, "properties": { @@ -106927,6 +107074,15 @@ }, "type": "object" }, + "AWS::Lightsail::Container.PrivateRegistryAccess": { + "additionalProperties": false, + "properties": { + "EcrImagePullerRole": { + "$ref": "#/definitions/AWS::Lightsail::Container.EcrImagePullerRole" + } + }, + "type": "object" + }, "AWS::Lightsail::Container.PublicDomainName": { "additionalProperties": false, "properties": { @@ -111437,6 +111593,12 @@ }, "Regex": { "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ @@ -203846,6 +204008,9 @@ { "$ref": "#/definitions/AWS::Connect::SecurityKey" }, + { + "$ref": "#/definitions/AWS::Connect::SecurityProfile" + }, { "$ref": "#/definitions/AWS::Connect::TaskTemplate" },