diff --git a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go index 64122dbeb8..5e0ef0c88d 100644 --- a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go +++ b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer.go @@ -14,6 +14,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html type Analyzer struct { + // AnalyzerConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzerconfiguration + AnalyzerConfiguration *Analyzer_AnalyzerConfiguration `json:"AnalyzerConfiguration,omitempty"` + // AnalyzerName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzername diff --git a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_analyzerconfiguration.go b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_analyzerconfiguration.go new file mode 100644 index 0000000000..b34af2467e --- /dev/null +++ b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_analyzerconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package accessanalyzer + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Analyzer_AnalyzerConfiguration AWS CloudFormation Resource (AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analyzerconfiguration.html +type Analyzer_AnalyzerConfiguration struct { + + // UnusedAccessConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-analyzerconfiguration.html#cfn-accessanalyzer-analyzer-analyzerconfiguration-unusedaccessconfiguration + UnusedAccessConfiguration *Analyzer_UnusedAccessConfiguration `json:"UnusedAccessConfiguration,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 *Analyzer_AnalyzerConfiguration) AWSCloudFormationType() string { + return "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" +} diff --git a/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_unusedaccessconfiguration.go b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_unusedaccessconfiguration.go new file mode 100644 index 0000000000..2ff9fc9fee --- /dev/null +++ b/cloudformation/accessanalyzer/aws-accessanalyzer-analyzer_unusedaccessconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package accessanalyzer + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Analyzer_UnusedAccessConfiguration AWS CloudFormation Resource (AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-unusedaccessconfiguration.html +type Analyzer_UnusedAccessConfiguration struct { + + // UnusedAccessAge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-unusedaccessconfiguration.html#cfn-accessanalyzer-analyzer-unusedaccessconfiguration-unusedaccessage + UnusedAccessAge *int `json:"UnusedAccessAge,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 *Analyzer_UnusedAccessConfiguration) AWSCloudFormationType() string { + return "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" +} diff --git a/cloudformation/all.go b/cloudformation/all.go index 0f5bee0000..0cdc2399e5 100644 --- a/cloudformation/all.go +++ b/cloudformation/all.go @@ -21,6 +21,7 @@ import ( "github.com/awslabs/goformation/v7/cloudformation/appstream" "github.com/awslabs/goformation/v7/cloudformation/appsync" "github.com/awslabs/goformation/v7/cloudformation/aps" + "github.com/awslabs/goformation/v7/cloudformation/arczonalshift" "github.com/awslabs/goformation/v7/cloudformation/ask" "github.com/awslabs/goformation/v7/cloudformation/athena" "github.com/awslabs/goformation/v7/cloudformation/auditmanager" @@ -194,6 +195,7 @@ import ( "github.com/awslabs/goformation/v7/cloudformation/route53resolver" "github.com/awslabs/goformation/v7/cloudformation/rum" "github.com/awslabs/goformation/v7/cloudformation/s3" + "github.com/awslabs/goformation/v7/cloudformation/s3express" "github.com/awslabs/goformation/v7/cloudformation/s3objectlambda" "github.com/awslabs/goformation/v7/cloudformation/s3outposts" "github.com/awslabs/goformation/v7/cloudformation/sagemaker" @@ -244,6 +246,7 @@ func AllResources() map[string]Resource { "AWS::ACMPCA::Permission": &acmpca.Permission{}, "AWS::APS::RuleGroupsNamespace": &aps.RuleGroupsNamespace{}, "AWS::APS::Workspace": &aps.Workspace{}, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": &arczonalshift.ZonalAutoshiftConfiguration{}, "AWS::AccessAnalyzer::Analyzer": &accessanalyzer.Analyzer{}, "AWS::AmazonMQ::Broker": &amazonmq.Broker{}, "AWS::AmazonMQ::Configuration": &amazonmq.Configuration{}, @@ -355,6 +358,8 @@ func AllResources() map[string]Resource { "AWS::Backup::BackupVault": &backup.BackupVault{}, "AWS::Backup::Framework": &backup.Framework{}, "AWS::Backup::ReportPlan": &backup.ReportPlan{}, + "AWS::Backup::RestoreTestingPlan": &backup.RestoreTestingPlan{}, + "AWS::Backup::RestoreTestingSelection": &backup.RestoreTestingSelection{}, "AWS::BackupGateway::Hypervisor": &backupgateway.Hypervisor{}, "AWS::Batch::ComputeEnvironment": &batch.ComputeEnvironment{}, "AWS::Batch::JobDefinition": &batch.JobDefinition{}, @@ -438,6 +443,8 @@ func AllResources() map[string]Resource { "AWS::CodePipeline::Webhook": &codepipeline.Webhook{}, "AWS::CodeStar::GitHubRepository": &codestar.GitHubRepository{}, "AWS::CodeStarConnections::Connection": &codestarconnections.Connection{}, + "AWS::CodeStarConnections::RepositoryLink": &codestarconnections.RepositoryLink{}, + "AWS::CodeStarConnections::SyncConfiguration": &codestarconnections.SyncConfiguration{}, "AWS::CodeStarNotifications::NotificationRule": &codestarnotifications.NotificationRule{}, "AWS::Cognito::IdentityPool": &cognito.IdentityPool{}, "AWS::Cognito::IdentityPoolPrincipalTag": &cognito.IdentityPoolPrincipalTag{}, @@ -489,6 +496,7 @@ func AllResources() map[string]Resource { "AWS::Connect::ViewVersion": &connect.ViewVersion{}, "AWS::ConnectCampaigns::Campaign": &connectcampaigns.Campaign{}, "AWS::ControlTower::EnabledControl": &controltower.EnabledControl{}, + "AWS::ControlTower::LandingZone": &controltower.LandingZone{}, "AWS::CustomerProfiles::CalculatedAttributeDefinition": &customerprofiles.CalculatedAttributeDefinition{}, "AWS::CustomerProfiles::Domain": &customerprofiles.Domain{}, "AWS::CustomerProfiles::EventStream": &customerprofiles.EventStream{}, @@ -538,6 +546,7 @@ func AllResources() map[string]Resource { "AWS::DocDB::DBClusterParameterGroup": &docdb.DBClusterParameterGroup{}, "AWS::DocDB::DBInstance": &docdb.DBInstance{}, "AWS::DocDB::DBSubnetGroup": &docdb.DBSubnetGroup{}, + "AWS::DocDB::EventSubscription": &docdb.EventSubscription{}, "AWS::DocDBElastic::Cluster": &docdbelastic.Cluster{}, "AWS::DynamoDB::GlobalTable": &dynamodb.GlobalTable{}, "AWS::DynamoDB::Table": &dynamodb.Table{}, @@ -653,6 +662,7 @@ func AllResources() map[string]Resource { "AWS::EKS::FargateProfile": &eks.FargateProfile{}, "AWS::EKS::IdentityProviderConfig": &eks.IdentityProviderConfig{}, "AWS::EKS::Nodegroup": &eks.Nodegroup{}, + "AWS::EKS::PodIdentityAssociation": &eks.PodIdentityAssociation{}, "AWS::EMR::Cluster": &emr.Cluster{}, "AWS::EMR::InstanceFleetConfig": &emr.InstanceFleetConfig{}, "AWS::EMR::InstanceGroupConfig": &emr.InstanceGroupConfig{}, @@ -669,6 +679,7 @@ func AllResources() map[string]Resource { "AWS::ElastiCache::ReplicationGroup": &elasticache.ReplicationGroup{}, "AWS::ElastiCache::SecurityGroup": &elasticache.SecurityGroup{}, "AWS::ElastiCache::SecurityGroupIngress": &elasticache.SecurityGroupIngress{}, + "AWS::ElastiCache::ServerlessCache": &elasticache.ServerlessCache{}, "AWS::ElastiCache::SubnetGroup": &elasticache.SubnetGroup{}, "AWS::ElastiCache::User": &elasticache.User{}, "AWS::ElastiCache::UserGroup": &elasticache.UserGroup{}, @@ -682,6 +693,8 @@ func AllResources() map[string]Resource { "AWS::ElasticLoadBalancingV2::ListenerRule": &elasticloadbalancingv2.ListenerRule{}, "AWS::ElasticLoadBalancingV2::LoadBalancer": &elasticloadbalancingv2.LoadBalancer{}, "AWS::ElasticLoadBalancingV2::TargetGroup": &elasticloadbalancingv2.TargetGroup{}, + "AWS::ElasticLoadBalancingV2::TrustStore": &elasticloadbalancingv2.TrustStore{}, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": &elasticloadbalancingv2.TrustStoreRevocation{}, "AWS::Elasticsearch::Domain": &elasticsearch.Domain{}, "AWS::EntityResolution::IdMappingWorkflow": &entityresolution.IdMappingWorkflow{}, "AWS::EntityResolution::MatchingWorkflow": &entityresolution.MatchingWorkflow{}, @@ -812,6 +825,7 @@ func AllResources() map[string]Resource { "AWS::ImageBuilder::ImagePipeline": &imagebuilder.ImagePipeline{}, "AWS::ImageBuilder::ImageRecipe": &imagebuilder.ImageRecipe{}, "AWS::ImageBuilder::InfrastructureConfiguration": &imagebuilder.InfrastructureConfiguration{}, + "AWS::ImageBuilder::LifecyclePolicy": &imagebuilder.LifecyclePolicy{}, "AWS::Inspector::AssessmentTarget": &inspector.AssessmentTarget{}, "AWS::Inspector::AssessmentTemplate": &inspector.AssessmentTemplate{}, "AWS::Inspector::ResourceGroup": &inspector.ResourceGroup{}, @@ -947,7 +961,11 @@ func AllResources() map[string]Resource { "AWS::Location::Tracker": &location.Tracker{}, "AWS::Location::TrackerConsumer": &location.TrackerConsumer{}, "AWS::Logs::AccountPolicy": &logs.AccountPolicy{}, + "AWS::Logs::Delivery": &logs.Delivery{}, + "AWS::Logs::DeliveryDestination": &logs.DeliveryDestination{}, + "AWS::Logs::DeliverySource": &logs.DeliverySource{}, "AWS::Logs::Destination": &logs.Destination{}, + "AWS::Logs::LogAnomalyDetector": &logs.LogAnomalyDetector{}, "AWS::Logs::LogGroup": &logs.LogGroup{}, "AWS::Logs::LogStream": &logs.LogStream{}, "AWS::Logs::MetricFilter": &logs.MetricFilter{}, @@ -1052,6 +1070,7 @@ func AllResources() map[string]Resource { "AWS::Omics::Workflow": &omics.Workflow{}, "AWS::OpenSearchServerless::AccessPolicy": &opensearchserverless.AccessPolicy{}, "AWS::OpenSearchServerless::Collection": &opensearchserverless.Collection{}, + "AWS::OpenSearchServerless::LifecyclePolicy": &opensearchserverless.LifecyclePolicy{}, "AWS::OpenSearchServerless::SecurityConfig": &opensearchserverless.SecurityConfig{}, "AWS::OpenSearchServerless::SecurityPolicy": &opensearchserverless.SecurityPolicy{}, "AWS::OpenSearchServerless::VpcEndpoint": &opensearchserverless.VpcEndpoint{}, @@ -1195,12 +1214,18 @@ func AllResources() map[string]Resource { "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": &route53resolver.ResolverQueryLoggingConfigAssociation{}, "AWS::Route53Resolver::ResolverRule": &route53resolver.ResolverRule{}, "AWS::Route53Resolver::ResolverRuleAssociation": &route53resolver.ResolverRuleAssociation{}, + "AWS::S3::AccessGrant": &s3.AccessGrant{}, + "AWS::S3::AccessGrantsInstance": &s3.AccessGrantsInstance{}, + "AWS::S3::AccessGrantsLocation": &s3.AccessGrantsLocation{}, "AWS::S3::AccessPoint": &s3.AccessPoint{}, "AWS::S3::Bucket": &s3.Bucket{}, "AWS::S3::BucketPolicy": &s3.BucketPolicy{}, "AWS::S3::MultiRegionAccessPoint": &s3.MultiRegionAccessPoint{}, "AWS::S3::MultiRegionAccessPointPolicy": &s3.MultiRegionAccessPointPolicy{}, "AWS::S3::StorageLens": &s3.StorageLens{}, + "AWS::S3::StorageLensGroup": &s3.StorageLensGroup{}, + "AWS::S3Express::BucketPolicy": &s3express.BucketPolicy{}, + "AWS::S3Express::DirectoryBucket": &s3express.DirectoryBucket{}, "AWS::S3ObjectLambda::AccessPoint": &s3objectlambda.AccessPoint{}, "AWS::S3ObjectLambda::AccessPointPolicy": &s3objectlambda.AccessPointPolicy{}, "AWS::S3Outposts::AccessPoint": &s3outposts.AccessPoint{}, @@ -1255,6 +1280,7 @@ func AllResources() map[string]Resource { "AWS::SageMaker::FeatureGroup": &sagemaker.FeatureGroup{}, "AWS::SageMaker::Image": &sagemaker.Image{}, "AWS::SageMaker::ImageVersion": &sagemaker.ImageVersion{}, + "AWS::SageMaker::InferenceComponent": &sagemaker.InferenceComponent{}, "AWS::SageMaker::InferenceExperiment": &sagemaker.InferenceExperiment{}, "AWS::SageMaker::Model": &sagemaker.Model{}, "AWS::SageMaker::ModelBiasJobDefinition": &sagemaker.ModelBiasJobDefinition{}, @@ -1546,6 +1572,30 @@ func (t *Template) GetAPSWorkspaceWithName(name string) (*aps.Workspace, error) return nil, fmt.Errorf("resource %q of type aps.Workspace not found", name) } +// GetAllARCZonalShiftZonalAutoshiftConfigurationResources retrieves all arczonalshift.ZonalAutoshiftConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllARCZonalShiftZonalAutoshiftConfigurationResources() map[string]*arczonalshift.ZonalAutoshiftConfiguration { + results := map[string]*arczonalshift.ZonalAutoshiftConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *arczonalshift.ZonalAutoshiftConfiguration: + results[name] = resource + } + } + return results +} + +// GetARCZonalShiftZonalAutoshiftConfigurationWithName retrieves all arczonalshift.ZonalAutoshiftConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetARCZonalShiftZonalAutoshiftConfigurationWithName(name string) (*arczonalshift.ZonalAutoshiftConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *arczonalshift.ZonalAutoshiftConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type arczonalshift.ZonalAutoshiftConfiguration not found", name) +} + // GetAllAccessAnalyzerAnalyzerResources retrieves all accessanalyzer.Analyzer items from an AWS CloudFormation template func (t *Template) GetAllAccessAnalyzerAnalyzerResources() map[string]*accessanalyzer.Analyzer { results := map[string]*accessanalyzer.Analyzer{} @@ -4210,6 +4260,54 @@ func (t *Template) GetBackupReportPlanWithName(name string) (*backup.ReportPlan, return nil, fmt.Errorf("resource %q of type backup.ReportPlan not found", name) } +// GetAllBackupRestoreTestingPlanResources retrieves all backup.RestoreTestingPlan items from an AWS CloudFormation template +func (t *Template) GetAllBackupRestoreTestingPlanResources() map[string]*backup.RestoreTestingPlan { + results := map[string]*backup.RestoreTestingPlan{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *backup.RestoreTestingPlan: + results[name] = resource + } + } + return results +} + +// GetBackupRestoreTestingPlanWithName retrieves all backup.RestoreTestingPlan items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetBackupRestoreTestingPlanWithName(name string) (*backup.RestoreTestingPlan, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *backup.RestoreTestingPlan: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type backup.RestoreTestingPlan not found", name) +} + +// GetAllBackupRestoreTestingSelectionResources retrieves all backup.RestoreTestingSelection items from an AWS CloudFormation template +func (t *Template) GetAllBackupRestoreTestingSelectionResources() map[string]*backup.RestoreTestingSelection { + results := map[string]*backup.RestoreTestingSelection{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *backup.RestoreTestingSelection: + results[name] = resource + } + } + return results +} + +// GetBackupRestoreTestingSelectionWithName retrieves all backup.RestoreTestingSelection items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetBackupRestoreTestingSelectionWithName(name string) (*backup.RestoreTestingSelection, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *backup.RestoreTestingSelection: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type backup.RestoreTestingSelection not found", name) +} + // GetAllBackupGatewayHypervisorResources retrieves all backupgateway.Hypervisor items from an AWS CloudFormation template func (t *Template) GetAllBackupGatewayHypervisorResources() map[string]*backupgateway.Hypervisor { results := map[string]*backupgateway.Hypervisor{} @@ -6202,6 +6300,54 @@ func (t *Template) GetCodeStarConnectionsConnectionWithName(name string) (*codes return nil, fmt.Errorf("resource %q of type codestarconnections.Connection not found", name) } +// GetAllCodeStarConnectionsRepositoryLinkResources retrieves all codestarconnections.RepositoryLink items from an AWS CloudFormation template +func (t *Template) GetAllCodeStarConnectionsRepositoryLinkResources() map[string]*codestarconnections.RepositoryLink { + results := map[string]*codestarconnections.RepositoryLink{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *codestarconnections.RepositoryLink: + results[name] = resource + } + } + return results +} + +// GetCodeStarConnectionsRepositoryLinkWithName retrieves all codestarconnections.RepositoryLink items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCodeStarConnectionsRepositoryLinkWithName(name string) (*codestarconnections.RepositoryLink, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *codestarconnections.RepositoryLink: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type codestarconnections.RepositoryLink not found", name) +} + +// GetAllCodeStarConnectionsSyncConfigurationResources retrieves all codestarconnections.SyncConfiguration items from an AWS CloudFormation template +func (t *Template) GetAllCodeStarConnectionsSyncConfigurationResources() map[string]*codestarconnections.SyncConfiguration { + results := map[string]*codestarconnections.SyncConfiguration{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *codestarconnections.SyncConfiguration: + results[name] = resource + } + } + return results +} + +// GetCodeStarConnectionsSyncConfigurationWithName retrieves all codestarconnections.SyncConfiguration items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetCodeStarConnectionsSyncConfigurationWithName(name string) (*codestarconnections.SyncConfiguration, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *codestarconnections.SyncConfiguration: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type codestarconnections.SyncConfiguration not found", name) +} + // GetAllCodeStarNotificationsNotificationRuleResources retrieves all codestarnotifications.NotificationRule items from an AWS CloudFormation template func (t *Template) GetAllCodeStarNotificationsNotificationRuleResources() map[string]*codestarnotifications.NotificationRule { results := map[string]*codestarnotifications.NotificationRule{} @@ -7426,6 +7572,30 @@ func (t *Template) GetControlTowerEnabledControlWithName(name string) (*controlt return nil, fmt.Errorf("resource %q of type controltower.EnabledControl not found", name) } +// GetAllControlTowerLandingZoneResources retrieves all controltower.LandingZone items from an AWS CloudFormation template +func (t *Template) GetAllControlTowerLandingZoneResources() map[string]*controltower.LandingZone { + results := map[string]*controltower.LandingZone{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *controltower.LandingZone: + results[name] = resource + } + } + return results +} + +// GetControlTowerLandingZoneWithName retrieves all controltower.LandingZone items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetControlTowerLandingZoneWithName(name string) (*controltower.LandingZone, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *controltower.LandingZone: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type controltower.LandingZone not found", name) +} + // GetAllCustomerProfilesCalculatedAttributeDefinitionResources retrieves all customerprofiles.CalculatedAttributeDefinition items from an AWS CloudFormation template func (t *Template) GetAllCustomerProfilesCalculatedAttributeDefinitionResources() map[string]*customerprofiles.CalculatedAttributeDefinition { results := map[string]*customerprofiles.CalculatedAttributeDefinition{} @@ -8602,6 +8772,30 @@ func (t *Template) GetDocDBDBSubnetGroupWithName(name string) (*docdb.DBSubnetGr return nil, fmt.Errorf("resource %q of type docdb.DBSubnetGroup not found", name) } +// GetAllDocDBEventSubscriptionResources retrieves all docdb.EventSubscription items from an AWS CloudFormation template +func (t *Template) GetAllDocDBEventSubscriptionResources() map[string]*docdb.EventSubscription { + results := map[string]*docdb.EventSubscription{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *docdb.EventSubscription: + results[name] = resource + } + } + return results +} + +// GetDocDBEventSubscriptionWithName retrieves all docdb.EventSubscription items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetDocDBEventSubscriptionWithName(name string) (*docdb.EventSubscription, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *docdb.EventSubscription: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type docdb.EventSubscription not found", name) +} + // GetAllDocDBElasticClusterResources retrieves all docdbelastic.Cluster items from an AWS CloudFormation template func (t *Template) GetAllDocDBElasticClusterResources() map[string]*docdbelastic.Cluster { results := map[string]*docdbelastic.Cluster{} @@ -11362,6 +11556,30 @@ func (t *Template) GetEKSNodegroupWithName(name string) (*eks.Nodegroup, error) return nil, fmt.Errorf("resource %q of type eks.Nodegroup not found", name) } +// GetAllEKSPodIdentityAssociationResources retrieves all eks.PodIdentityAssociation items from an AWS CloudFormation template +func (t *Template) GetAllEKSPodIdentityAssociationResources() map[string]*eks.PodIdentityAssociation { + results := map[string]*eks.PodIdentityAssociation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *eks.PodIdentityAssociation: + results[name] = resource + } + } + return results +} + +// GetEKSPodIdentityAssociationWithName retrieves all eks.PodIdentityAssociation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetEKSPodIdentityAssociationWithName(name string) (*eks.PodIdentityAssociation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *eks.PodIdentityAssociation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type eks.PodIdentityAssociation not found", name) +} + // GetAllEMRClusterResources retrieves all emr.Cluster items from an AWS CloudFormation template func (t *Template) GetAllEMRClusterResources() map[string]*emr.Cluster { results := map[string]*emr.Cluster{} @@ -11746,6 +11964,30 @@ func (t *Template) GetElastiCacheSecurityGroupIngressWithName(name string) (*ela return nil, fmt.Errorf("resource %q of type elasticache.SecurityGroupIngress not found", name) } +// GetAllElastiCacheServerlessCacheResources retrieves all elasticache.ServerlessCache items from an AWS CloudFormation template +func (t *Template) GetAllElastiCacheServerlessCacheResources() map[string]*elasticache.ServerlessCache { + results := map[string]*elasticache.ServerlessCache{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticache.ServerlessCache: + results[name] = resource + } + } + return results +} + +// GetElastiCacheServerlessCacheWithName retrieves all elasticache.ServerlessCache items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElastiCacheServerlessCacheWithName(name string) (*elasticache.ServerlessCache, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticache.ServerlessCache: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticache.ServerlessCache not found", name) +} + // GetAllElastiCacheSubnetGroupResources retrieves all elasticache.SubnetGroup items from an AWS CloudFormation template func (t *Template) GetAllElastiCacheSubnetGroupResources() map[string]*elasticache.SubnetGroup { results := map[string]*elasticache.SubnetGroup{} @@ -12058,6 +12300,54 @@ func (t *Template) GetElasticLoadBalancingV2TargetGroupWithName(name string) (*e return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.TargetGroup not found", name) } +// GetAllElasticLoadBalancingV2TrustStoreResources retrieves all elasticloadbalancingv2.TrustStore items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2TrustStoreResources() map[string]*elasticloadbalancingv2.TrustStore { + results := map[string]*elasticloadbalancingv2.TrustStore{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.TrustStore: + results[name] = resource + } + } + return results +} + +// GetElasticLoadBalancingV2TrustStoreWithName retrieves all elasticloadbalancingv2.TrustStore items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticLoadBalancingV2TrustStoreWithName(name string) (*elasticloadbalancingv2.TrustStore, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.TrustStore: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.TrustStore not found", name) +} + +// GetAllElasticLoadBalancingV2TrustStoreRevocationResources retrieves all elasticloadbalancingv2.TrustStoreRevocation items from an AWS CloudFormation template +func (t *Template) GetAllElasticLoadBalancingV2TrustStoreRevocationResources() map[string]*elasticloadbalancingv2.TrustStoreRevocation { + results := map[string]*elasticloadbalancingv2.TrustStoreRevocation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.TrustStoreRevocation: + results[name] = resource + } + } + return results +} + +// GetElasticLoadBalancingV2TrustStoreRevocationWithName retrieves all elasticloadbalancingv2.TrustStoreRevocation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetElasticLoadBalancingV2TrustStoreRevocationWithName(name string) (*elasticloadbalancingv2.TrustStoreRevocation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *elasticloadbalancingv2.TrustStoreRevocation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type elasticloadbalancingv2.TrustStoreRevocation not found", name) +} + // GetAllElasticsearchDomainResources retrieves all elasticsearch.Domain items from an AWS CloudFormation template func (t *Template) GetAllElasticsearchDomainResources() map[string]*elasticsearch.Domain { results := map[string]*elasticsearch.Domain{} @@ -15178,6 +15468,30 @@ func (t *Template) GetImageBuilderInfrastructureConfigurationWithName(name strin return nil, fmt.Errorf("resource %q of type imagebuilder.InfrastructureConfiguration not found", name) } +// GetAllImageBuilderLifecyclePolicyResources retrieves all imagebuilder.LifecyclePolicy items from an AWS CloudFormation template +func (t *Template) GetAllImageBuilderLifecyclePolicyResources() map[string]*imagebuilder.LifecyclePolicy { + results := map[string]*imagebuilder.LifecyclePolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *imagebuilder.LifecyclePolicy: + results[name] = resource + } + } + return results +} + +// GetImageBuilderLifecyclePolicyWithName retrieves all imagebuilder.LifecyclePolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetImageBuilderLifecyclePolicyWithName(name string) (*imagebuilder.LifecyclePolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *imagebuilder.LifecyclePolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type imagebuilder.LifecyclePolicy not found", name) +} + // GetAllInspectorAssessmentTargetResources retrieves all inspector.AssessmentTarget items from an AWS CloudFormation template func (t *Template) GetAllInspectorAssessmentTargetResources() map[string]*inspector.AssessmentTarget { results := map[string]*inspector.AssessmentTarget{} @@ -18418,6 +18732,78 @@ func (t *Template) GetLogsAccountPolicyWithName(name string) (*logs.AccountPolic return nil, fmt.Errorf("resource %q of type logs.AccountPolicy not found", name) } +// GetAllLogsDeliveryResources retrieves all logs.Delivery items from an AWS CloudFormation template +func (t *Template) GetAllLogsDeliveryResources() map[string]*logs.Delivery { + results := map[string]*logs.Delivery{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *logs.Delivery: + results[name] = resource + } + } + return results +} + +// GetLogsDeliveryWithName retrieves all logs.Delivery items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLogsDeliveryWithName(name string) (*logs.Delivery, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *logs.Delivery: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type logs.Delivery not found", name) +} + +// GetAllLogsDeliveryDestinationResources retrieves all logs.DeliveryDestination items from an AWS CloudFormation template +func (t *Template) GetAllLogsDeliveryDestinationResources() map[string]*logs.DeliveryDestination { + results := map[string]*logs.DeliveryDestination{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *logs.DeliveryDestination: + results[name] = resource + } + } + return results +} + +// GetLogsDeliveryDestinationWithName retrieves all logs.DeliveryDestination items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLogsDeliveryDestinationWithName(name string) (*logs.DeliveryDestination, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *logs.DeliveryDestination: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type logs.DeliveryDestination not found", name) +} + +// GetAllLogsDeliverySourceResources retrieves all logs.DeliverySource items from an AWS CloudFormation template +func (t *Template) GetAllLogsDeliverySourceResources() map[string]*logs.DeliverySource { + results := map[string]*logs.DeliverySource{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *logs.DeliverySource: + results[name] = resource + } + } + return results +} + +// GetLogsDeliverySourceWithName retrieves all logs.DeliverySource items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLogsDeliverySourceWithName(name string) (*logs.DeliverySource, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *logs.DeliverySource: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type logs.DeliverySource not found", name) +} + // GetAllLogsDestinationResources retrieves all logs.Destination items from an AWS CloudFormation template func (t *Template) GetAllLogsDestinationResources() map[string]*logs.Destination { results := map[string]*logs.Destination{} @@ -18442,6 +18828,30 @@ func (t *Template) GetLogsDestinationWithName(name string) (*logs.Destination, e return nil, fmt.Errorf("resource %q of type logs.Destination not found", name) } +// GetAllLogsLogAnomalyDetectorResources retrieves all logs.LogAnomalyDetector items from an AWS CloudFormation template +func (t *Template) GetAllLogsLogAnomalyDetectorResources() map[string]*logs.LogAnomalyDetector { + results := map[string]*logs.LogAnomalyDetector{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *logs.LogAnomalyDetector: + results[name] = resource + } + } + return results +} + +// GetLogsLogAnomalyDetectorWithName retrieves all logs.LogAnomalyDetector items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetLogsLogAnomalyDetectorWithName(name string) (*logs.LogAnomalyDetector, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *logs.LogAnomalyDetector: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type logs.LogAnomalyDetector not found", name) +} + // GetAllLogsLogGroupResources retrieves all logs.LogGroup items from an AWS CloudFormation template func (t *Template) GetAllLogsLogGroupResources() map[string]*logs.LogGroup { results := map[string]*logs.LogGroup{} @@ -20938,6 +21348,30 @@ func (t *Template) GetOpenSearchServerlessCollectionWithName(name string) (*open return nil, fmt.Errorf("resource %q of type opensearchserverless.Collection not found", name) } +// GetAllOpenSearchServerlessLifecyclePolicyResources retrieves all opensearchserverless.LifecyclePolicy items from an AWS CloudFormation template +func (t *Template) GetAllOpenSearchServerlessLifecyclePolicyResources() map[string]*opensearchserverless.LifecyclePolicy { + results := map[string]*opensearchserverless.LifecyclePolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *opensearchserverless.LifecyclePolicy: + results[name] = resource + } + } + return results +} + +// GetOpenSearchServerlessLifecyclePolicyWithName retrieves all opensearchserverless.LifecyclePolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetOpenSearchServerlessLifecyclePolicyWithName(name string) (*opensearchserverless.LifecyclePolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *opensearchserverless.LifecyclePolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type opensearchserverless.LifecyclePolicy not found", name) +} + // GetAllOpenSearchServerlessSecurityConfigResources retrieves all opensearchserverless.SecurityConfig items from an AWS CloudFormation template func (t *Template) GetAllOpenSearchServerlessSecurityConfigResources() map[string]*opensearchserverless.SecurityConfig { results := map[string]*opensearchserverless.SecurityConfig{} @@ -24370,6 +24804,78 @@ func (t *Template) GetRoute53ResolverResolverRuleAssociationWithName(name string return nil, fmt.Errorf("resource %q of type route53resolver.ResolverRuleAssociation not found", name) } +// GetAllS3AccessGrantResources retrieves all s3.AccessGrant items from an AWS CloudFormation template +func (t *Template) GetAllS3AccessGrantResources() map[string]*s3.AccessGrant { + results := map[string]*s3.AccessGrant{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3.AccessGrant: + results[name] = resource + } + } + return results +} + +// GetS3AccessGrantWithName retrieves all s3.AccessGrant items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3AccessGrantWithName(name string) (*s3.AccessGrant, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3.AccessGrant: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3.AccessGrant not found", name) +} + +// GetAllS3AccessGrantsInstanceResources retrieves all s3.AccessGrantsInstance items from an AWS CloudFormation template +func (t *Template) GetAllS3AccessGrantsInstanceResources() map[string]*s3.AccessGrantsInstance { + results := map[string]*s3.AccessGrantsInstance{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3.AccessGrantsInstance: + results[name] = resource + } + } + return results +} + +// GetS3AccessGrantsInstanceWithName retrieves all s3.AccessGrantsInstance items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3AccessGrantsInstanceWithName(name string) (*s3.AccessGrantsInstance, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3.AccessGrantsInstance: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3.AccessGrantsInstance not found", name) +} + +// GetAllS3AccessGrantsLocationResources retrieves all s3.AccessGrantsLocation items from an AWS CloudFormation template +func (t *Template) GetAllS3AccessGrantsLocationResources() map[string]*s3.AccessGrantsLocation { + results := map[string]*s3.AccessGrantsLocation{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3.AccessGrantsLocation: + results[name] = resource + } + } + return results +} + +// GetS3AccessGrantsLocationWithName retrieves all s3.AccessGrantsLocation items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3AccessGrantsLocationWithName(name string) (*s3.AccessGrantsLocation, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3.AccessGrantsLocation: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3.AccessGrantsLocation not found", name) +} + // GetAllS3AccessPointResources retrieves all s3.AccessPoint items from an AWS CloudFormation template func (t *Template) GetAllS3AccessPointResources() map[string]*s3.AccessPoint { results := map[string]*s3.AccessPoint{} @@ -24514,6 +25020,78 @@ func (t *Template) GetS3StorageLensWithName(name string) (*s3.StorageLens, error return nil, fmt.Errorf("resource %q of type s3.StorageLens not found", name) } +// GetAllS3StorageLensGroupResources retrieves all s3.StorageLensGroup items from an AWS CloudFormation template +func (t *Template) GetAllS3StorageLensGroupResources() map[string]*s3.StorageLensGroup { + results := map[string]*s3.StorageLensGroup{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3.StorageLensGroup: + results[name] = resource + } + } + return results +} + +// GetS3StorageLensGroupWithName retrieves all s3.StorageLensGroup items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3StorageLensGroupWithName(name string) (*s3.StorageLensGroup, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3.StorageLensGroup: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3.StorageLensGroup not found", name) +} + +// GetAllS3ExpressBucketPolicyResources retrieves all s3express.BucketPolicy items from an AWS CloudFormation template +func (t *Template) GetAllS3ExpressBucketPolicyResources() map[string]*s3express.BucketPolicy { + results := map[string]*s3express.BucketPolicy{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3express.BucketPolicy: + results[name] = resource + } + } + return results +} + +// GetS3ExpressBucketPolicyWithName retrieves all s3express.BucketPolicy items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3ExpressBucketPolicyWithName(name string) (*s3express.BucketPolicy, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3express.BucketPolicy: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3express.BucketPolicy not found", name) +} + +// GetAllS3ExpressDirectoryBucketResources retrieves all s3express.DirectoryBucket items from an AWS CloudFormation template +func (t *Template) GetAllS3ExpressDirectoryBucketResources() map[string]*s3express.DirectoryBucket { + results := map[string]*s3express.DirectoryBucket{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *s3express.DirectoryBucket: + results[name] = resource + } + } + return results +} + +// GetS3ExpressDirectoryBucketWithName retrieves all s3express.DirectoryBucket items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetS3ExpressDirectoryBucketWithName(name string) (*s3express.DirectoryBucket, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *s3express.DirectoryBucket: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type s3express.DirectoryBucket not found", name) +} + // GetAllS3ObjectLambdaAccessPointResources retrieves all s3objectlambda.AccessPoint items from an AWS CloudFormation template func (t *Template) GetAllS3ObjectLambdaAccessPointResources() map[string]*s3objectlambda.AccessPoint { results := map[string]*s3objectlambda.AccessPoint{} @@ -25810,6 +26388,30 @@ func (t *Template) GetSageMakerImageVersionWithName(name string) (*sagemaker.Ima return nil, fmt.Errorf("resource %q of type sagemaker.ImageVersion not found", name) } +// GetAllSageMakerInferenceComponentResources retrieves all sagemaker.InferenceComponent items from an AWS CloudFormation template +func (t *Template) GetAllSageMakerInferenceComponentResources() map[string]*sagemaker.InferenceComponent { + results := map[string]*sagemaker.InferenceComponent{} + for name, untyped := range t.Resources { + switch resource := untyped.(type) { + case *sagemaker.InferenceComponent: + results[name] = resource + } + } + return results +} + +// GetSageMakerInferenceComponentWithName retrieves all sagemaker.InferenceComponent items from an AWS CloudFormation template +// whose logical ID matches the provided name. Returns an error if not found. +func (t *Template) GetSageMakerInferenceComponentWithName(name string) (*sagemaker.InferenceComponent, error) { + if untyped, ok := t.Resources[name]; ok { + switch resource := untyped.(type) { + case *sagemaker.InferenceComponent: + return resource, nil + } + } + return nil, fmt.Errorf("resource %q of type sagemaker.InferenceComponent not found", name) +} + // GetAllSageMakerInferenceExperimentResources retrieves all sagemaker.InferenceExperiment items from an AWS CloudFormation template func (t *Template) GetAllSageMakerInferenceExperimentResources() map[string]*sagemaker.InferenceExperiment { results := map[string]*sagemaker.InferenceExperiment{} diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go index a6496c84be..6581cc7ea2 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_customizedmetricspecification.go @@ -16,19 +16,24 @@ type ScalingPolicy_CustomizedMetricSpecification struct { Dimensions []ScalingPolicy_MetricDimension `json:"Dimensions,omitempty"` // MetricName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metricname - MetricName string `json:"MetricName"` + MetricName *string `json:"MetricName,omitempty"` + + // Metrics AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metrics + Metrics []ScalingPolicy_TargetTrackingMetricDataQuery `json:"Metrics,omitempty"` // Namespace AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-namespace - Namespace string `json:"Namespace"` + Namespace *string `json:"Namespace,omitempty"` // Statistic AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-statistic - Statistic string `json:"Statistic"` + Statistic *string `json:"Statistic,omitempty"` // Unit AWS CloudFormation Property // Required: false diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go index 58e51e44d5..52940d6b7a 100644 --- a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_stepadjustment.go @@ -7,22 +7,22 @@ import ( ) // ScalingPolicy_StepAdjustment AWS CloudFormation Resource (AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment) -// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html type ScalingPolicy_StepAdjustment struct { // MetricIntervalLowerBound AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervallowerbound + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepadjustment-metricintervallowerbound MetricIntervalLowerBound *float64 `json:"MetricIntervalLowerBound,omitempty"` // MetricIntervalUpperBound AWS CloudFormation Property // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervalupperbound + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepadjustment-metricintervalupperbound MetricIntervalUpperBound *float64 `json:"MetricIntervalUpperBound,omitempty"` // ScalingAdjustment AWS CloudFormation Property // Required: true - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-scalingadjustment + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepadjustment-scalingadjustment ScalingAdjustment int `json:"ScalingAdjustment"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetric.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetric.go new file mode 100644 index 0000000000..e2de9eabfd --- /dev/null +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetric.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package applicationautoscaling + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ScalingPolicy_TargetTrackingMetric AWS CloudFormation Resource (AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html +type ScalingPolicy_TargetTrackingMetric struct { + + // Dimensions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetric-dimensions + Dimensions []ScalingPolicy_TargetTrackingMetricDimension `json:"Dimensions,omitempty"` + + // MetricName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetric-metricname + MetricName *string `json:"MetricName,omitempty"` + + // Namespace AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetric-namespace + Namespace *string `json:"Namespace,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 *ScalingPolicy_TargetTrackingMetric) AWSCloudFormationType() string { + return "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" +} diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricdataquery.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricdataquery.go new file mode 100644 index 0000000000..72a9cf6db4 --- /dev/null +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricdataquery.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package applicationautoscaling + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ScalingPolicy_TargetTrackingMetricDataQuery AWS CloudFormation Resource (AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html +type ScalingPolicy_TargetTrackingMetricDataQuery struct { + + // Expression AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-expression + Expression *string `json:"Expression,omitempty"` + + // Id AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-id + Id *string `json:"Id,omitempty"` + + // Label AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-label + Label *string `json:"Label,omitempty"` + + // MetricStat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-metricstat + MetricStat *ScalingPolicy_TargetTrackingMetricStat `json:"MetricStat,omitempty"` + + // ReturnData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-returndata + ReturnData *bool `json:"ReturnData,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 *ScalingPolicy_TargetTrackingMetricDataQuery) AWSCloudFormationType() string { + return "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" +} diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricdimension.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricdimension.go new file mode 100644 index 0000000000..f6520a3f84 --- /dev/null +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricdimension.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package applicationautoscaling + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ScalingPolicy_TargetTrackingMetricDimension AWS CloudFormation Resource (AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html +type ScalingPolicy_TargetTrackingMetricDimension struct { + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdimension-name + Name *string `json:"Name,omitempty"` + + // Value AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdimension-value + Value *string `json:"Value,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 *ScalingPolicy_TargetTrackingMetricDimension) AWSCloudFormationType() string { + return "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" +} diff --git a/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricstat.go b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricstat.go new file mode 100644 index 0000000000..2e6c76fdc8 --- /dev/null +++ b/cloudformation/applicationautoscaling/aws-applicationautoscaling-scalingpolicy_targettrackingmetricstat.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package applicationautoscaling + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ScalingPolicy_TargetTrackingMetricStat AWS CloudFormation Resource (AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html +type ScalingPolicy_TargetTrackingMetricStat struct { + + // Metric AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricstat-metric + Metric *ScalingPolicy_TargetTrackingMetric `json:"Metric,omitempty"` + + // Stat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricstat-stat + Stat *string `json:"Stat,omitempty"` + + // Unit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricstat-unit + Unit *string `json:"Unit,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 *ScalingPolicy_TargetTrackingMetricStat) AWSCloudFormationType() string { + return "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" +} diff --git a/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration.go b/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration.go new file mode 100644 index 0000000000..cd7105c6cc --- /dev/null +++ b/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package arczonalshift + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ZonalAutoshiftConfiguration AWS CloudFormation Resource (AWS::ARCZonalShift::ZonalAutoshiftConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html +type ZonalAutoshiftConfiguration struct { + + // PracticeRunConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration + PracticeRunConfiguration *ZonalAutoshiftConfiguration_PracticeRunConfiguration `json:"PracticeRunConfiguration,omitempty"` + + // ResourceIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-resourceidentifier + ResourceIdentifier *string `json:"ResourceIdentifier,omitempty"` + + // ZonalAutoshiftStatus AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-zonalautoshiftstatus + ZonalAutoshiftStatus *string `json:"ZonalAutoshiftStatus,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 *ZonalAutoshiftConfiguration) AWSCloudFormationType() string { + return "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" +} + +// 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 ZonalAutoshiftConfiguration) MarshalJSON() ([]byte, error) { + type Properties ZonalAutoshiftConfiguration + 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 *ZonalAutoshiftConfiguration) UnmarshalJSON(b []byte) error { + type Properties ZonalAutoshiftConfiguration + 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 = ZonalAutoshiftConfiguration(*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/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration_controlcondition.go b/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration_controlcondition.go new file mode 100644 index 0000000000..a4d3f0f060 --- /dev/null +++ b/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration_controlcondition.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package arczonalshift + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ZonalAutoshiftConfiguration_ControlCondition AWS CloudFormation Resource (AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-controlcondition.html +type ZonalAutoshiftConfiguration_ControlCondition struct { + + // AlarmIdentifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-controlcondition.html#cfn-arczonalshift-zonalautoshiftconfiguration-controlcondition-alarmidentifier + AlarmIdentifier string `json:"AlarmIdentifier"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-controlcondition.html#cfn-arczonalshift-zonalautoshiftconfiguration-controlcondition-type + Type string `json:"Type"` + + // 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 *ZonalAutoshiftConfiguration_ControlCondition) AWSCloudFormationType() string { + return "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" +} diff --git a/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration_practicerunconfiguration.go b/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration_practicerunconfiguration.go new file mode 100644 index 0000000000..359c744a52 --- /dev/null +++ b/cloudformation/arczonalshift/aws-arczonalshift-zonalautoshiftconfiguration_practicerunconfiguration.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package arczonalshift + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ZonalAutoshiftConfiguration_PracticeRunConfiguration AWS CloudFormation Resource (AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration.html +type ZonalAutoshiftConfiguration_PracticeRunConfiguration struct { + + // BlockedDates AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration-blockeddates + BlockedDates []string `json:"BlockedDates,omitempty"` + + // BlockedWindows AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration-blockedwindows + BlockedWindows []string `json:"BlockedWindows,omitempty"` + + // BlockingAlarms AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration-blockingalarms + BlockingAlarms []ZonalAutoshiftConfiguration_ControlCondition `json:"BlockingAlarms,omitempty"` + + // OutcomeAlarms AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration-outcomealarms + OutcomeAlarms []ZonalAutoshiftConfiguration_ControlCondition `json:"OutcomeAlarms"` + + // 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 *ZonalAutoshiftConfiguration_PracticeRunConfiguration) AWSCloudFormationType() string { + return "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" +} diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go index 0e6a304f4a..5cac8c2b27 100644 --- a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup.go @@ -68,6 +68,11 @@ type AutoScalingGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-instanceid InstanceId *string `json:"InstanceId,omitempty"` + // InstanceMaintenancePolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy + InstanceMaintenancePolicy *AutoScalingGroup_InstanceMaintenancePolicy `json:"InstanceMaintenancePolicy,omitempty"` + // LaunchConfigurationName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-launchconfigurationname diff --git a/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancemaintenancepolicy.go b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancemaintenancepolicy.go new file mode 100644 index 0000000000..436755c43a --- /dev/null +++ b/cloudformation/autoscaling/aws-autoscaling-autoscalinggroup_instancemaintenancepolicy.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package autoscaling + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AutoScalingGroup_InstanceMaintenancePolicy AWS CloudFormation Resource (AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html +type AutoScalingGroup_InstanceMaintenancePolicy struct { + + // MaxHealthyPercentage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy-maxhealthypercentage + MaxHealthyPercentage *int `json:"MaxHealthyPercentage,omitempty"` + + // MinHealthyPercentage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy-minhealthypercentage + MinHealthyPercentage *int `json:"MinHealthyPercentage,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 *AutoScalingGroup_InstanceMaintenancePolicy) AWSCloudFormationType() string { + return "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" +} diff --git a/cloudformation/backup/aws-backup-restoretestingplan.go b/cloudformation/backup/aws-backup-restoretestingplan.go new file mode 100644 index 0000000000..3507cac192 --- /dev/null +++ b/cloudformation/backup/aws-backup-restoretestingplan.go @@ -0,0 +1,143 @@ +// Code generated by "go generate". Please don't change this file directly. + +package backup + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// RestoreTestingPlan AWS CloudFormation Resource (AWS::Backup::RestoreTestingPlan) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html +type RestoreTestingPlan struct { + + // RecoveryPointSelection AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html#cfn-backup-restoretestingplan-recoverypointselection + RecoveryPointSelection *RestoreTestingPlan_RestoreTestingRecoveryPointSelection `json:"RecoveryPointSelection"` + + // RestoreTestingPlanName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html#cfn-backup-restoretestingplan-restoretestingplanname + RestoreTestingPlanName string `json:"RestoreTestingPlanName"` + + // ScheduleExpression AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html#cfn-backup-restoretestingplan-scheduleexpression + ScheduleExpression string `json:"ScheduleExpression"` + + // ScheduleExpressionTimezone AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html#cfn-backup-restoretestingplan-scheduleexpressiontimezone + ScheduleExpressionTimezone *string `json:"ScheduleExpressionTimezone,omitempty"` + + // StartWindowHours AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html#cfn-backup-restoretestingplan-startwindowhours + StartWindowHours *int `json:"StartWindowHours,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html#cfn-backup-restoretestingplan-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 *RestoreTestingPlan) AWSCloudFormationType() string { + return "AWS::Backup::RestoreTestingPlan" +} + +// 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 RestoreTestingPlan) MarshalJSON() ([]byte, error) { + type Properties RestoreTestingPlan + 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 *RestoreTestingPlan) UnmarshalJSON(b []byte) error { + type Properties RestoreTestingPlan + 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 = RestoreTestingPlan(*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/backup/aws-backup-restoretestingplan_restoretestingrecoverypointselection.go b/cloudformation/backup/aws-backup-restoretestingplan_restoretestingrecoverypointselection.go new file mode 100644 index 0000000000..4e6c6605bc --- /dev/null +++ b/cloudformation/backup/aws-backup-restoretestingplan_restoretestingrecoverypointselection.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package backup + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RestoreTestingPlan_RestoreTestingRecoveryPointSelection AWS CloudFormation Resource (AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html +type RestoreTestingPlan_RestoreTestingRecoveryPointSelection struct { + + // Algorithm AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-algorithm + Algorithm string `json:"Algorithm"` + + // ExcludeVaults AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-excludevaults + ExcludeVaults []string `json:"ExcludeVaults,omitempty"` + + // IncludeVaults AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-includevaults + IncludeVaults []string `json:"IncludeVaults"` + + // RecoveryPointTypes AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-recoverypointtypes + RecoveryPointTypes []string `json:"RecoveryPointTypes"` + + // SelectionWindowDays AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.html#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-selectionwindowdays + SelectionWindowDays *int `json:"SelectionWindowDays,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 *RestoreTestingPlan_RestoreTestingRecoveryPointSelection) AWSCloudFormationType() string { + return "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" +} diff --git a/cloudformation/backup/aws-backup-restoretestingselection.go b/cloudformation/backup/aws-backup-restoretestingselection.go new file mode 100644 index 0000000000..0007f57660 --- /dev/null +++ b/cloudformation/backup/aws-backup-restoretestingselection.go @@ -0,0 +1,152 @@ +// Code generated by "go generate". Please don't change this file directly. + +package backup + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RestoreTestingSelection AWS CloudFormation Resource (AWS::Backup::RestoreTestingSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html +type RestoreTestingSelection struct { + + // IamRoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-iamrolearn + IamRoleArn string `json:"IamRoleArn"` + + // ProtectedResourceArns AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-protectedresourcearns + ProtectedResourceArns []string `json:"ProtectedResourceArns,omitempty"` + + // ProtectedResourceConditions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-protectedresourceconditions + ProtectedResourceConditions *RestoreTestingSelection_ProtectedResourceConditions `json:"ProtectedResourceConditions,omitempty"` + + // ProtectedResourceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-protectedresourcetype + ProtectedResourceType string `json:"ProtectedResourceType"` + + // RestoreMetadataOverrides AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-restoremetadataoverrides + RestoreMetadataOverrides map[string]string `json:"RestoreMetadataOverrides,omitempty"` + + // RestoreTestingPlanName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-restoretestingplanname + RestoreTestingPlanName string `json:"RestoreTestingPlanName"` + + // RestoreTestingSelectionName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-restoretestingselectionname + RestoreTestingSelectionName string `json:"RestoreTestingSelectionName"` + + // ValidationWindowHours AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-validationwindowhours + ValidationWindowHours *int `json:"ValidationWindowHours,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 *RestoreTestingSelection) AWSCloudFormationType() string { + return "AWS::Backup::RestoreTestingSelection" +} + +// 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 RestoreTestingSelection) MarshalJSON() ([]byte, error) { + type Properties RestoreTestingSelection + 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 *RestoreTestingSelection) UnmarshalJSON(b []byte) error { + type Properties RestoreTestingSelection + 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 = RestoreTestingSelection(*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/backup/aws-backup-restoretestingselection_keyvalue.go b/cloudformation/backup/aws-backup-restoretestingselection_keyvalue.go new file mode 100644 index 0000000000..112477ab15 --- /dev/null +++ b/cloudformation/backup/aws-backup-restoretestingselection_keyvalue.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package backup + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RestoreTestingSelection_KeyValue AWS CloudFormation Resource (AWS::Backup::RestoreTestingSelection.KeyValue) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-keyvalue.html +type RestoreTestingSelection_KeyValue struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-keyvalue.html#cfn-backup-restoretestingselection-keyvalue-key + Key string `json:"Key"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-keyvalue.html#cfn-backup-restoretestingselection-keyvalue-value + Value string `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *RestoreTestingSelection_KeyValue) AWSCloudFormationType() string { + return "AWS::Backup::RestoreTestingSelection.KeyValue" +} diff --git a/cloudformation/backup/aws-backup-restoretestingselection_protectedresourceconditions.go b/cloudformation/backup/aws-backup-restoretestingselection_protectedresourceconditions.go new file mode 100644 index 0000000000..8b97954d56 --- /dev/null +++ b/cloudformation/backup/aws-backup-restoretestingselection_protectedresourceconditions.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package backup + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// RestoreTestingSelection_ProtectedResourceConditions AWS CloudFormation Resource (AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-protectedresourceconditions.html +type RestoreTestingSelection_ProtectedResourceConditions struct { + + // StringEquals AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-protectedresourceconditions.html#cfn-backup-restoretestingselection-protectedresourceconditions-stringequals + StringEquals []RestoreTestingSelection_KeyValue `json:"StringEquals,omitempty"` + + // StringNotEquals AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-restoretestingselection-protectedresourceconditions.html#cfn-backup-restoretestingselection-protectedresourceconditions-stringnotequals + StringNotEquals []RestoreTestingSelection_KeyValue `json:"StringNotEquals,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 *RestoreTestingSelection_ProtectedResourceConditions) AWSCloudFormationType() string { + return "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" +} diff --git a/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore.go b/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore.go index ec4a0da77b..827d520444 100644 --- a/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore.go +++ b/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore.go @@ -19,11 +19,26 @@ type EventDataStore struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-advancedeventselectors AdvancedEventSelectors []EventDataStore_AdvancedEventSelector `json:"AdvancedEventSelectors,omitempty"` + // BillingMode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-billingmode + BillingMode *string `json:"BillingMode,omitempty"` + // IngestionEnabled AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-ingestionenabled IngestionEnabled *bool `json:"IngestionEnabled,omitempty"` + // InsightSelectors AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-insightselectors + InsightSelectors []EventDataStore_InsightSelector `json:"InsightSelectors,omitempty"` + + // InsightsDestination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-insightsdestination + InsightsDestination *string `json:"InsightsDestination,omitempty"` + // KmsKeyId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-kmskeyid diff --git a/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore_insightselector.go b/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore_insightselector.go new file mode 100644 index 0000000000..12ebad2669 --- /dev/null +++ b/cloudformation/cloudtrail/aws-cloudtrail-eventdatastore_insightselector.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package cloudtrail + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EventDataStore_InsightSelector AWS CloudFormation Resource (AWS::CloudTrail::EventDataStore.InsightSelector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-insightselector.html +type EventDataStore_InsightSelector struct { + + // InsightType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-insightselector.html#cfn-cloudtrail-eventdatastore-insightselector-insighttype + InsightType *string `json:"InsightType,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 *EventDataStore_InsightSelector) AWSCloudFormationType() string { + return "AWS::CloudTrail::EventDataStore.InsightSelector" +} diff --git a/cloudformation/codestarconnections/aws-codestarconnections-repositorylink.go b/cloudformation/codestarconnections/aws-codestarconnections-repositorylink.go new file mode 100644 index 0000000000..c7598e2596 --- /dev/null +++ b/cloudformation/codestarconnections/aws-codestarconnections-repositorylink.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package codestarconnections + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// RepositoryLink AWS CloudFormation Resource (AWS::CodeStarConnections::RepositoryLink) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html +type RepositoryLink struct { + + // ConnectionArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-connectionarn + ConnectionArn string `json:"ConnectionArn"` + + // EncryptionKeyArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-encryptionkeyarn + EncryptionKeyArn *string `json:"EncryptionKeyArn,omitempty"` + + // OwnerId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-ownerid + OwnerId string `json:"OwnerId"` + + // RepositoryName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-repositoryname + RepositoryName string `json:"RepositoryName"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-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 *RepositoryLink) AWSCloudFormationType() string { + return "AWS::CodeStarConnections::RepositoryLink" +} + +// 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 RepositoryLink) MarshalJSON() ([]byte, error) { + type Properties RepositoryLink + 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 *RepositoryLink) UnmarshalJSON(b []byte) error { + type Properties RepositoryLink + 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 = RepositoryLink(*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/codestarconnections/aws-codestarconnections-syncconfiguration.go b/cloudformation/codestarconnections/aws-codestarconnections-syncconfiguration.go new file mode 100644 index 0000000000..86654df37b --- /dev/null +++ b/cloudformation/codestarconnections/aws-codestarconnections-syncconfiguration.go @@ -0,0 +1,142 @@ +// Code generated by "go generate". Please don't change this file directly. + +package codestarconnections + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// SyncConfiguration AWS CloudFormation Resource (AWS::CodeStarConnections::SyncConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html +type SyncConfiguration struct { + + // Branch AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-branch + Branch string `json:"Branch"` + + // ConfigFile AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-configfile + ConfigFile string `json:"ConfigFile"` + + // RepositoryLinkId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-repositorylinkid + RepositoryLinkId string `json:"RepositoryLinkId"` + + // ResourceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-resourcename + ResourceName string `json:"ResourceName"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-rolearn + RoleArn string `json:"RoleArn"` + + // SyncType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-synctype + SyncType string `json:"SyncType"` + + // 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 *SyncConfiguration) AWSCloudFormationType() string { + return "AWS::CodeStarConnections::SyncConfiguration" +} + +// 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 SyncConfiguration) MarshalJSON() ([]byte, error) { + type Properties SyncConfiguration + 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 *SyncConfiguration) UnmarshalJSON(b []byte) error { + type Properties SyncConfiguration + 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 = SyncConfiguration(*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/controltower/aws-controltower-enabledcontrol.go b/cloudformation/controltower/aws-controltower-enabledcontrol.go index d5f8cb0e5a..78c02e4157 100644 --- a/cloudformation/controltower/aws-controltower-enabledcontrol.go +++ b/cloudformation/controltower/aws-controltower-enabledcontrol.go @@ -18,6 +18,11 @@ type EnabledControl struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-controlidentifier ControlIdentifier string `json:"ControlIdentifier"` + // Parameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-parameters + Parameters []EnabledControl_EnabledControlParameter `json:"Parameters,omitempty"` + // TargetIdentifier AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-targetidentifier diff --git a/cloudformation/controltower/aws-controltower-enabledcontrol_enabledcontrolparameter.go b/cloudformation/controltower/aws-controltower-enabledcontrol_enabledcontrolparameter.go new file mode 100644 index 0000000000..aa7db422c2 --- /dev/null +++ b/cloudformation/controltower/aws-controltower-enabledcontrol_enabledcontrolparameter.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package controltower + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EnabledControl_EnabledControlParameter AWS CloudFormation Resource (AWS::ControlTower::EnabledControl.EnabledControlParameter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-enabledcontrolparameter.html +type EnabledControl_EnabledControlParameter struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-enabledcontrolparameter.html#cfn-controltower-enabledcontrol-enabledcontrolparameter-key + Key string `json:"Key"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-enabledcontrolparameter.html#cfn-controltower-enabledcontrol-enabledcontrolparameter-value + Value interface{} `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *EnabledControl_EnabledControlParameter) AWSCloudFormationType() string { + return "AWS::ControlTower::EnabledControl.EnabledControlParameter" +} diff --git a/cloudformation/controltower/aws-controltower-landingzone.go b/cloudformation/controltower/aws-controltower-landingzone.go new file mode 100644 index 0000000000..7718e0e679 --- /dev/null +++ b/cloudformation/controltower/aws-controltower-landingzone.go @@ -0,0 +1,128 @@ +// Code generated by "go generate". Please don't change this file directly. + +package controltower + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// LandingZone AWS CloudFormation Resource (AWS::ControlTower::LandingZone) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html +type LandingZone struct { + + // Manifest AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html#cfn-controltower-landingzone-manifest + Manifest interface{} `json:"Manifest"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html#cfn-controltower-landingzone-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // Version AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html#cfn-controltower-landingzone-version + Version string `json:"Version"` + + // 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 *LandingZone) AWSCloudFormationType() string { + return "AWS::ControlTower::LandingZone" +} + +// 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 LandingZone) MarshalJSON() ([]byte, error) { + type Properties LandingZone + 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 *LandingZone) UnmarshalJSON(b []byte) error { + type Properties LandingZone + 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 = LandingZone(*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/dlm/aws-dlm-lifecyclepolicy.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy.go index 48e78b3cbe..5e2ced482a 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy.go @@ -14,21 +14,56 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html type LifecyclePolicy struct { + // CopyTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-copytags + CopyTags *bool `json:"CopyTags,omitempty"` + + // CreateInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-createinterval + CreateInterval *int `json:"CreateInterval,omitempty"` + + // CrossRegionCopyTargets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-crossregioncopytargets + CrossRegionCopyTargets *LifecyclePolicy_CrossRegionCopyTargets `json:"CrossRegionCopyTargets,omitempty"` + + // DefaultPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-defaultpolicy + DefaultPolicy *string `json:"DefaultPolicy,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description Description *string `json:"Description,omitempty"` + // Exclusions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-exclusions + Exclusions *LifecyclePolicy_Exclusions `json:"Exclusions,omitempty"` + // ExecutionRoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn ExecutionRoleArn *string `json:"ExecutionRoleArn,omitempty"` + // ExtendDeletion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-extenddeletion + ExtendDeletion *bool `json:"ExtendDeletion,omitempty"` + // PolicyDetails AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails PolicyDetails *LifecyclePolicy_PolicyDetails `json:"PolicyDetails,omitempty"` + // RetainInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-retaininterval + RetainInterval *int `json:"RetainInterval,omitempty"` + // State AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopytarget.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopytarget.go new file mode 100644 index 0000000000..23a8cb4719 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopytarget.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dlm + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_CrossRegionCopyTarget AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopytarget.html +type LifecyclePolicy_CrossRegionCopyTarget struct { + + // TargetRegion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopytarget.html#cfn-dlm-lifecyclepolicy-crossregioncopytarget-targetregion + TargetRegion *string `json:"TargetRegion,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 *LifecyclePolicy_CrossRegionCopyTarget) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopytargets.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopytargets.go new file mode 100644 index 0000000000..9f69f5de28 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_crossregioncopytargets.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dlm + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_CrossRegionCopyTargets AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopytargets.html +type LifecyclePolicy_CrossRegionCopyTargets struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_CrossRegionCopyTargets) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_excludetags.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_excludetags.go new file mode 100644 index 0000000000..f2ef1e73c9 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_excludetags.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dlm + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_ExcludeTags AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.ExcludeTags) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-excludetags.html +type LifecyclePolicy_ExcludeTags struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_ExcludeTags) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.ExcludeTags" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_excludevolumetypeslist.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_excludevolumetypeslist.go new file mode 100644 index 0000000000..3e1c4474fb --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_excludevolumetypeslist.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dlm + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_ExcludeVolumeTypesList AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-excludevolumetypeslist.html +type LifecyclePolicy_ExcludeVolumeTypesList struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_ExcludeVolumeTypesList) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_exclusions.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_exclusions.go new file mode 100644 index 0000000000..a6c5b56612 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_exclusions.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dlm + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_Exclusions AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.Exclusions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html +type LifecyclePolicy_Exclusions struct { + + // ExcludeBootVolumes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html#cfn-dlm-lifecyclepolicy-exclusions-excludebootvolumes + ExcludeBootVolumes *bool `json:"ExcludeBootVolumes,omitempty"` + + // ExcludeTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html#cfn-dlm-lifecyclepolicy-exclusions-excludetags + ExcludeTags *LifecyclePolicy_ExcludeTags `json:"ExcludeTags,omitempty"` + + // ExcludeVolumeTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html#cfn-dlm-lifecyclepolicy-exclusions-excludevolumetypes + ExcludeVolumeTypes *LifecyclePolicy_ExcludeVolumeTypesList `json:"ExcludeVolumeTypes,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 *LifecyclePolicy_Exclusions) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.Exclusions" +} diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go index 53567f62a6..8a300656de 100644 --- a/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_policydetails.go @@ -16,16 +16,46 @@ type LifecyclePolicy_PolicyDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-actions Actions []LifecyclePolicy_Action `json:"Actions,omitempty"` + // CopyTags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-copytags + CopyTags *bool `json:"CopyTags,omitempty"` + + // CreateInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-createinterval + CreateInterval *int `json:"CreateInterval,omitempty"` + + // CrossRegionCopyTargets AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-crossregioncopytargets + CrossRegionCopyTargets *LifecyclePolicy_CrossRegionCopyTargets `json:"CrossRegionCopyTargets,omitempty"` + // EventSource AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-eventsource EventSource *LifecyclePolicy_EventSource `json:"EventSource,omitempty"` + // Exclusions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-exclusions + Exclusions *LifecyclePolicy_Exclusions `json:"Exclusions,omitempty"` + + // ExtendDeletion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-extenddeletion + ExtendDeletion *bool `json:"ExtendDeletion,omitempty"` + // Parameters AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters Parameters *LifecyclePolicy_Parameters `json:"Parameters,omitempty"` + // PolicyLanguage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policylanguage + PolicyLanguage *string `json:"PolicyLanguage,omitempty"` + // PolicyType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policytype @@ -36,11 +66,21 @@ type LifecyclePolicy_PolicyDetails struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcelocations ResourceLocations []string `json:"ResourceLocations,omitempty"` + // ResourceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetype + ResourceType *string `json:"ResourceType,omitempty"` + // ResourceTypes AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetypes ResourceTypes []string `json:"ResourceTypes,omitempty"` + // RetainInterval AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-retaininterval + RetainInterval *int `json:"RetainInterval,omitempty"` + // Schedules AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-schedules diff --git a/cloudformation/dlm/aws-dlm-lifecyclepolicy_volumetypevalues.go b/cloudformation/dlm/aws-dlm-lifecyclepolicy_volumetypevalues.go new file mode 100644 index 0000000000..7b809a4c09 --- /dev/null +++ b/cloudformation/dlm/aws-dlm-lifecyclepolicy_volumetypevalues.go @@ -0,0 +1,32 @@ +// Code generated by "go generate". Please don't change this file directly. + +package dlm + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_VolumeTypeValues AWS CloudFormation Resource (AWS::DLM::LifecyclePolicy.VolumeTypeValues) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-volumetypevalues.html +type LifecyclePolicy_VolumeTypeValues struct { + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_VolumeTypeValues) AWSCloudFormationType() string { + return "AWS::DLM::LifecyclePolicy.VolumeTypeValues" +} diff --git a/cloudformation/dms/aws-dms-endpoint_s3settings.go b/cloudformation/dms/aws-dms-endpoint_s3settings.go index c4d3b86f94..3c2cbb4ebb 100644 --- a/cloudformation/dms/aws-dms-endpoint_s3settings.go +++ b/cloudformation/dms/aws-dms-endpoint_s3settings.go @@ -15,6 +15,11 @@ type Endpoint_S3Settings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-addcolumnname AddColumnName *bool `json:"AddColumnName,omitempty"` + // AddTrailingPaddingCharacter AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-addtrailingpaddingcharacter + AddTrailingPaddingCharacter *bool `json:"AddTrailingPaddingCharacter,omitempty"` + // BucketFolder AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketfolder @@ -130,11 +135,21 @@ type Endpoint_S3Settings struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-encryptionmode EncryptionMode *string `json:"EncryptionMode,omitempty"` + // ExpectedBucketOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-expectedbucketowner + ExpectedBucketOwner *string `json:"ExpectedBucketOwner,omitempty"` + // ExternalTableDefinition AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-externaltabledefinition ExternalTableDefinition *string `json:"ExternalTableDefinition,omitempty"` + // GlueCatalogGeneration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-gluecataloggeneration + GlueCatalogGeneration *bool `json:"GlueCatalogGeneration,omitempty"` + // IgnoreHeaderRows AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-ignoreheaderrows diff --git a/cloudformation/docdb/aws-docdb-dbinstance.go b/cloudformation/docdb/aws-docdb-dbinstance.go index ea8a7caf9b..6e889bc846 100644 --- a/cloudformation/docdb/aws-docdb-dbinstance.go +++ b/cloudformation/docdb/aws-docdb-dbinstance.go @@ -24,6 +24,16 @@ type DBInstance struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-availabilityzone AvailabilityZone *string `json:"AvailabilityZone,omitempty"` + // CACertificateIdentifier AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-cacertificateidentifier + CACertificateIdentifier *string `json:"CACertificateIdentifier,omitempty"` + + // CertificateRotationRestart AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-certificaterotationrestart + CertificateRotationRestart *bool `json:"CertificateRotationRestart,omitempty"` + // DBClusterIdentifier AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-dbclusteridentifier diff --git a/cloudformation/docdb/aws-docdb-eventsubscription.go b/cloudformation/docdb/aws-docdb-eventsubscription.go new file mode 100644 index 0000000000..7a88159209 --- /dev/null +++ b/cloudformation/docdb/aws-docdb-eventsubscription.go @@ -0,0 +1,142 @@ +// Code generated by "go generate". Please don't change this file directly. + +package docdb + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EventSubscription AWS CloudFormation Resource (AWS::DocDB::EventSubscription) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html +type EventSubscription struct { + + // Enabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-enabled + Enabled *bool `json:"Enabled,omitempty"` + + // EventCategories AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-eventcategories + EventCategories []string `json:"EventCategories,omitempty"` + + // SnsTopicArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-snstopicarn + SnsTopicArn string `json:"SnsTopicArn"` + + // SourceIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-sourceids + SourceIds []string `json:"SourceIds,omitempty"` + + // SourceType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-sourcetype + SourceType *string `json:"SourceType,omitempty"` + + // SubscriptionName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html#cfn-docdb-eventsubscription-subscriptionname + SubscriptionName *string `json:"SubscriptionName,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 *EventSubscription) AWSCloudFormationType() string { + return "AWS::DocDB::EventSubscription" +} + +// 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 EventSubscription) MarshalJSON() ([]byte, error) { + type Properties EventSubscription + 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 *EventSubscription) UnmarshalJSON(b []byte) error { + type Properties EventSubscription + 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 = EventSubscription(*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-launchtemplate_enasrdspecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_enasrdspecification.go new file mode 100644 index 0000000000..99c484b3c2 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-launchtemplate_enasrdspecification.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ec2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LaunchTemplate_EnaSrdSpecification AWS CloudFormation Resource (AWS::EC2::LaunchTemplate.EnaSrdSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html +type LaunchTemplate_EnaSrdSpecification struct { + + // EnaSrdEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html#cfn-ec2-launchtemplate-enasrdspecification-enasrdenabled + EnaSrdEnabled *bool `json:"EnaSrdEnabled,omitempty"` + + // EnaSrdUdpSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html#cfn-ec2-launchtemplate-enasrdspecification-enasrdudpspecification + EnaSrdUdpSpecification *LaunchTemplate_EnaSrdUdpSpecification `json:"EnaSrdUdpSpecification,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 *LaunchTemplate_EnaSrdSpecification) AWSCloudFormationType() string { + return "AWS::EC2::LaunchTemplate.EnaSrdSpecification" +} diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_enasrdudpspecification.go b/cloudformation/ec2/aws-ec2-launchtemplate_enasrdudpspecification.go new file mode 100644 index 0000000000..c729967799 --- /dev/null +++ b/cloudformation/ec2/aws-ec2-launchtemplate_enasrdudpspecification.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package ec2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LaunchTemplate_EnaSrdUdpSpecification AWS CloudFormation Resource (AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdudpspecification.html +type LaunchTemplate_EnaSrdUdpSpecification struct { + + // EnaSrdUdpEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdudpspecification.html#cfn-ec2-launchtemplate-enasrdudpspecification-enasrdudpenabled + EnaSrdUdpEnabled *bool `json:"EnaSrdUdpEnabled,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 *LaunchTemplate_EnaSrdUdpSpecification) AWSCloudFormationType() string { + return "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" +} diff --git a/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go b/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go index f3989deecd..4466f853b6 100644 --- a/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go +++ b/cloudformation/ec2/aws-ec2-launchtemplate_networkinterface.go @@ -35,6 +35,11 @@ type LaunchTemplate_NetworkInterface struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex DeviceIndex *int `json:"DeviceIndex,omitempty"` + // EnaSrdSpecification AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-enasrdspecification + EnaSrdSpecification *LaunchTemplate_EnaSrdSpecification `json:"EnaSrdSpecification,omitempty"` + // Groups AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups diff --git a/cloudformation/ec2/aws-ec2-transitgatewayattachment_options.go b/cloudformation/ec2/aws-ec2-transitgatewayattachment_options.go index 5808378882..6633099b43 100644 --- a/cloudformation/ec2/aws-ec2-transitgatewayattachment_options.go +++ b/cloudformation/ec2/aws-ec2-transitgatewayattachment_options.go @@ -25,6 +25,11 @@ type TransitGatewayAttachment_Options struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html#cfn-ec2-transitgatewayattachment-options-ipv6support Ipv6Support *string `json:"Ipv6Support,omitempty"` + // SecurityGroupReferencingSupport AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html#cfn-ec2-transitgatewayattachment-options-securitygroupreferencingsupport + SecurityGroupReferencingSupport *string `json:"SecurityGroupReferencingSupport,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/ecr/aws-ecr-pullthroughcacherule.go b/cloudformation/ecr/aws-ecr-pullthroughcacherule.go index d202d3a063..bcc9161ef2 100644 --- a/cloudformation/ecr/aws-ecr-pullthroughcacherule.go +++ b/cloudformation/ecr/aws-ecr-pullthroughcacherule.go @@ -13,11 +13,21 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html type PullThroughCacheRule struct { + // CredentialArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html#cfn-ecr-pullthroughcacherule-credentialarn + CredentialArn *string `json:"CredentialArn,omitempty"` + // EcrRepositoryPrefix AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html#cfn-ecr-pullthroughcacherule-ecrrepositoryprefix EcrRepositoryPrefix *string `json:"EcrRepositoryPrefix,omitempty"` + // UpstreamRegistry AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html#cfn-ecr-pullthroughcacherule-upstreamregistry + UpstreamRegistry *string `json:"UpstreamRegistry,omitempty"` + // UpstreamRegistryUrl AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html#cfn-ecr-pullthroughcacherule-upstreamregistryurl diff --git a/cloudformation/efs/aws-efs-filesystem.go b/cloudformation/efs/aws-efs-filesystem.go index 8f88fa72be..525f9569bc 100644 --- a/cloudformation/efs/aws-efs-filesystem.go +++ b/cloudformation/efs/aws-efs-filesystem.go @@ -38,6 +38,11 @@ type FileSystem struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystempolicy FileSystemPolicy interface{} `json:"FileSystemPolicy,omitempty"` + // FileSystemProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemprotection + FileSystemProtection *FileSystem_FileSystemProtection `json:"FileSystemProtection,omitempty"` + // FileSystemTags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemtags diff --git a/cloudformation/efs/aws-efs-filesystem_filesystemprotection.go b/cloudformation/efs/aws-efs-filesystem_filesystemprotection.go new file mode 100644 index 0000000000..8c79f3307b --- /dev/null +++ b/cloudformation/efs/aws-efs-filesystem_filesystemprotection.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_FileSystemProtection AWS CloudFormation Resource (AWS::EFS::FileSystem.FileSystemProtection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemprotection.html +type FileSystem_FileSystemProtection struct { + + // ReplicationOverwriteProtection AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemprotection.html#cfn-efs-filesystem-filesystemprotection-replicationoverwriteprotection + ReplicationOverwriteProtection *string `json:"ReplicationOverwriteProtection,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_FileSystemProtection) AWSCloudFormationType() string { + return "AWS::EFS::FileSystem.FileSystemProtection" +} diff --git a/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go b/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go index a5533bf4e3..a4c00dcad2 100644 --- a/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go +++ b/cloudformation/efs/aws-efs-filesystem_lifecyclepolicy.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html type FileSystem_LifecyclePolicy struct { + // TransitionToArchive AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoarchive + TransitionToArchive *string `json:"TransitionToArchive,omitempty"` + // TransitionToIA AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoia diff --git a/cloudformation/eks/aws-eks-podidentityassociation.go b/cloudformation/eks/aws-eks-podidentityassociation.go new file mode 100644 index 0000000000..de15b8fac0 --- /dev/null +++ b/cloudformation/eks/aws-eks-podidentityassociation.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package eks + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// PodIdentityAssociation AWS CloudFormation Resource (AWS::EKS::PodIdentityAssociation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html +type PodIdentityAssociation struct { + + // ClusterName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-clustername + ClusterName string `json:"ClusterName"` + + // Namespace AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-namespace + Namespace string `json:"Namespace"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-rolearn + RoleArn string `json:"RoleArn"` + + // ServiceAccount AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-serviceaccount + ServiceAccount string `json:"ServiceAccount"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-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 *PodIdentityAssociation) AWSCloudFormationType() string { + return "AWS::EKS::PodIdentityAssociation" +} + +// 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 PodIdentityAssociation) MarshalJSON() ([]byte, error) { + type Properties PodIdentityAssociation + 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 *PodIdentityAssociation) UnmarshalJSON(b []byte) error { + type Properties PodIdentityAssociation + 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 = PodIdentityAssociation(*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/elasticache/aws-elasticache-serverlesscache.go b/cloudformation/elasticache/aws-elasticache-serverlesscache.go new file mode 100644 index 0000000000..b2cdbeee60 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-serverlesscache.go @@ -0,0 +1,183 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticache + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// ServerlessCache AWS CloudFormation Resource (AWS::ElastiCache::ServerlessCache) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html +type ServerlessCache struct { + + // CacheUsageLimits AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-cacheusagelimits + CacheUsageLimits *ServerlessCache_CacheUsageLimits `json:"CacheUsageLimits,omitempty"` + + // DailySnapshotTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-dailysnapshottime + DailySnapshotTime *string `json:"DailySnapshotTime,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-description + Description *string `json:"Description,omitempty"` + + // Engine AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-engine + Engine string `json:"Engine"` + + // FinalSnapshotName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-finalsnapshotname + FinalSnapshotName *string `json:"FinalSnapshotName,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-kmskeyid + KmsKeyId *string `json:"KmsKeyId,omitempty"` + + // MajorEngineVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-majorengineversion + MajorEngineVersion *string `json:"MajorEngineVersion,omitempty"` + + // SecurityGroupIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds,omitempty"` + + // ServerlessCacheName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-serverlesscachename + ServerlessCacheName string `json:"ServerlessCacheName"` + + // SnapshotArnsToRestore AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-snapshotarnstorestore + SnapshotArnsToRestore []string `json:"SnapshotArnsToRestore,omitempty"` + + // SnapshotRetentionLimit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-snapshotretentionlimit + SnapshotRetentionLimit *int `json:"SnapshotRetentionLimit,omitempty"` + + // SubnetIds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-subnetids + SubnetIds []string `json:"SubnetIds,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // UserGroupId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-usergroupid + UserGroupId *string `json:"UserGroupId,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 *ServerlessCache) AWSCloudFormationType() string { + return "AWS::ElastiCache::ServerlessCache" +} + +// 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 ServerlessCache) MarshalJSON() ([]byte, error) { + type Properties ServerlessCache + 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 *ServerlessCache) UnmarshalJSON(b []byte) error { + type Properties ServerlessCache + 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 = ServerlessCache(*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/elasticache/aws-elasticache-serverlesscache_cacheusagelimits.go b/cloudformation/elasticache/aws-elasticache-serverlesscache_cacheusagelimits.go new file mode 100644 index 0000000000..8ef24fe190 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-serverlesscache_cacheusagelimits.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticache + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ServerlessCache_CacheUsageLimits AWS CloudFormation Resource (AWS::ElastiCache::ServerlessCache.CacheUsageLimits) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-cacheusagelimits.html +type ServerlessCache_CacheUsageLimits struct { + + // DataStorage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-cacheusagelimits.html#cfn-elasticache-serverlesscache-cacheusagelimits-datastorage + DataStorage *ServerlessCache_DataStorage `json:"DataStorage,omitempty"` + + // ECPUPerSecond AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-cacheusagelimits.html#cfn-elasticache-serverlesscache-cacheusagelimits-ecpupersecond + ECPUPerSecond *ServerlessCache_ECPUPerSecond `json:"ECPUPerSecond,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 *ServerlessCache_CacheUsageLimits) AWSCloudFormationType() string { + return "AWS::ElastiCache::ServerlessCache.CacheUsageLimits" +} diff --git a/cloudformation/elasticache/aws-elasticache-serverlesscache_datastorage.go b/cloudformation/elasticache/aws-elasticache-serverlesscache_datastorage.go new file mode 100644 index 0000000000..b1786b0dd2 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-serverlesscache_datastorage.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticache + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ServerlessCache_DataStorage AWS CloudFormation Resource (AWS::ElastiCache::ServerlessCache.DataStorage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html +type ServerlessCache_DataStorage struct { + + // Maximum AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-maximum + Maximum int `json:"Maximum"` + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-unit + Unit string `json:"Unit"` + + // 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 *ServerlessCache_DataStorage) AWSCloudFormationType() string { + return "AWS::ElastiCache::ServerlessCache.DataStorage" +} diff --git a/cloudformation/elasticache/aws-elasticache-serverlesscache_ecpupersecond.go b/cloudformation/elasticache/aws-elasticache-serverlesscache_ecpupersecond.go new file mode 100644 index 0000000000..910e1bce52 --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-serverlesscache_ecpupersecond.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticache + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ServerlessCache_ECPUPerSecond AWS CloudFormation Resource (AWS::ElastiCache::ServerlessCache.ECPUPerSecond) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html +type ServerlessCache_ECPUPerSecond struct { + + // Maximum AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html#cfn-elasticache-serverlesscache-ecpupersecond-maximum + Maximum int `json:"Maximum"` + + // 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 *ServerlessCache_ECPUPerSecond) AWSCloudFormationType() string { + return "AWS::ElastiCache::ServerlessCache.ECPUPerSecond" +} diff --git a/cloudformation/elasticache/aws-elasticache-serverlesscache_endpoint.go b/cloudformation/elasticache/aws-elasticache-serverlesscache_endpoint.go new file mode 100644 index 0000000000..d5d43f722b --- /dev/null +++ b/cloudformation/elasticache/aws-elasticache-serverlesscache_endpoint.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticache + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ServerlessCache_Endpoint AWS CloudFormation Resource (AWS::ElastiCache::ServerlessCache.Endpoint) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-endpoint.html +type ServerlessCache_Endpoint struct { + + // Address AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-endpoint.html#cfn-elasticache-serverlesscache-endpoint-address + Address *string `json:"Address,omitempty"` + + // Port AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-endpoint.html#cfn-elasticache-serverlesscache-endpoint-port + Port *int `json:"Port,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 *ServerlessCache_Endpoint) AWSCloudFormationType() string { + return "AWS::ElastiCache::ServerlessCache.Endpoint" +} diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go index 5e766d211f..b0eadbb0c3 100644 --- a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener.go @@ -33,6 +33,11 @@ type Listener struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-loadbalancerarn LoadBalancerArn string `json:"LoadBalancerArn"` + // MutualAuthentication AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-mutualauthentication + MutualAuthentication *Listener_MutualAuthentication `json:"MutualAuthentication,omitempty"` + // Port AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-port diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_mutualauthentication.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_mutualauthentication.go new file mode 100644 index 0000000000..e9f27a6941 --- /dev/null +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-listener_mutualauthentication.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticloadbalancingv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Listener_MutualAuthentication AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html +type Listener_MutualAuthentication struct { + + // IgnoreClientCertificateExpiry AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html#cfn-elasticloadbalancingv2-listener-mutualauthentication-ignoreclientcertificateexpiry + IgnoreClientCertificateExpiry *bool `json:"IgnoreClientCertificateExpiry,omitempty"` + + // Mode AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html#cfn-elasticloadbalancingv2-listener-mutualauthentication-mode + Mode *string `json:"Mode,omitempty"` + + // TrustStoreArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html#cfn-elasticloadbalancingv2-listener-mutualauthentication-truststorearn + TrustStoreArn *string `json:"TrustStoreArn,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 *Listener_MutualAuthentication) AWSCloudFormationType() string { + return "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" +} diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststore.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststore.go new file mode 100644 index 0000000000..efce3dd5a2 --- /dev/null +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststore.go @@ -0,0 +1,138 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticloadbalancingv2 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// TrustStore AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::TrustStore) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html +type TrustStore struct { + + // CaCertificatesBundleS3Bucket AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html#cfn-elasticloadbalancingv2-truststore-cacertificatesbundles3bucket + CaCertificatesBundleS3Bucket *string `json:"CaCertificatesBundleS3Bucket,omitempty"` + + // CaCertificatesBundleS3Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html#cfn-elasticloadbalancingv2-truststore-cacertificatesbundles3key + CaCertificatesBundleS3Key *string `json:"CaCertificatesBundleS3Key,omitempty"` + + // CaCertificatesBundleS3ObjectVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html#cfn-elasticloadbalancingv2-truststore-cacertificatesbundles3objectversion + CaCertificatesBundleS3ObjectVersion *string `json:"CaCertificatesBundleS3ObjectVersion,omitempty"` + + // Name AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html#cfn-elasticloadbalancingv2-truststore-name + Name *string `json:"Name,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html#cfn-elasticloadbalancingv2-truststore-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 *TrustStore) AWSCloudFormationType() string { + return "AWS::ElasticLoadBalancingV2::TrustStore" +} + +// 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 TrustStore) MarshalJSON() ([]byte, error) { + type Properties TrustStore + 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 *TrustStore) UnmarshalJSON(b []byte) error { + type Properties TrustStore + 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 = TrustStore(*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/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation.go new file mode 100644 index 0000000000..ba63dda54d --- /dev/null +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation.go @@ -0,0 +1,122 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticloadbalancingv2 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// TrustStoreRevocation AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::TrustStoreRevocation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html +type TrustStoreRevocation struct { + + // RevocationContents AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html#cfn-elasticloadbalancingv2-truststorerevocation-revocationcontents + RevocationContents []TrustStoreRevocation_RevocationContent `json:"RevocationContents,omitempty"` + + // TrustStoreArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html#cfn-elasticloadbalancingv2-truststorerevocation-truststorearn + TrustStoreArn *string `json:"TrustStoreArn,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 *TrustStoreRevocation) AWSCloudFormationType() string { + return "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" +} + +// 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 TrustStoreRevocation) MarshalJSON() ([]byte, error) { + type Properties TrustStoreRevocation + 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 *TrustStoreRevocation) UnmarshalJSON(b []byte) error { + type Properties TrustStoreRevocation + 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 = TrustStoreRevocation(*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/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation_revocationcontent.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation_revocationcontent.go new file mode 100644 index 0000000000..b8564f843c --- /dev/null +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation_revocationcontent.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticloadbalancingv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// TrustStoreRevocation_RevocationContent AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-revocationcontent.html +type TrustStoreRevocation_RevocationContent struct { + + // RevocationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-revocationcontent.html#cfn-elasticloadbalancingv2-truststorerevocation-revocationcontent-revocationtype + RevocationType *string `json:"RevocationType,omitempty"` + + // S3Bucket AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-revocationcontent.html#cfn-elasticloadbalancingv2-truststorerevocation-revocationcontent-s3bucket + S3Bucket *string `json:"S3Bucket,omitempty"` + + // S3Key AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-revocationcontent.html#cfn-elasticloadbalancingv2-truststorerevocation-revocationcontent-s3key + S3Key *string `json:"S3Key,omitempty"` + + // S3ObjectVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-revocationcontent.html#cfn-elasticloadbalancingv2-truststorerevocation-revocationcontent-s3objectversion + S3ObjectVersion *string `json:"S3ObjectVersion,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 *TrustStoreRevocation_RevocationContent) AWSCloudFormationType() string { + return "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" +} diff --git a/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation_truststorerevocation.go b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation_truststorerevocation.go new file mode 100644 index 0000000000..8422dd32ad --- /dev/null +++ b/cloudformation/elasticloadbalancingv2/aws-elasticloadbalancingv2-truststorerevocation_truststorerevocation.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package elasticloadbalancingv2 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// TrustStoreRevocation_TrustStoreRevocation AWS CloudFormation Resource (AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-truststorerevocation.html +type TrustStoreRevocation_TrustStoreRevocation struct { + + // NumberOfRevokedEntries AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-truststorerevocation.html#cfn-elasticloadbalancingv2-truststorerevocation-truststorerevocation-numberofrevokedentries + NumberOfRevokedEntries *int `json:"NumberOfRevokedEntries,omitempty"` + + // RevocationId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-truststorerevocation.html#cfn-elasticloadbalancingv2-truststorerevocation-truststorerevocation-revocationid + RevocationId *string `json:"RevocationId,omitempty"` + + // RevocationType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-truststorerevocation.html#cfn-elasticloadbalancingv2-truststorerevocation-truststorerevocation-revocationtype + RevocationType *string `json:"RevocationType,omitempty"` + + // TrustStoreArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-truststorerevocation.html#cfn-elasticloadbalancingv2-truststorerevocation-truststorerevocation-truststorearn + TrustStoreArn *string `json:"TrustStoreArn,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 *TrustStoreRevocation_TrustStoreRevocation) AWSCloudFormationType() string { + return "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation" +} diff --git a/cloudformation/fsx/aws-fsx-filesystem_ontapconfiguration.go b/cloudformation/fsx/aws-fsx-filesystem_ontapconfiguration.go index 03dfcf61bd..9c883ebddf 100644 --- a/cloudformation/fsx/aws-fsx-filesystem_ontapconfiguration.go +++ b/cloudformation/fsx/aws-fsx-filesystem_ontapconfiguration.go @@ -40,6 +40,11 @@ type FileSystem_OntapConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-fsxadminpassword FsxAdminPassword *string `json:"FsxAdminPassword,omitempty"` + // HAPairs AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-hapairs + HAPairs *int `json:"HAPairs,omitempty"` + // PreferredSubnetId AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-preferredsubnetid @@ -55,6 +60,11 @@ type FileSystem_OntapConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-throughputcapacity ThroughputCapacity *int `json:"ThroughputCapacity,omitempty"` + // ThroughputCapacityPerHAPair AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-throughputcapacityperhapair + ThroughputCapacityPerHAPair *int `json:"ThroughputCapacityPerHAPair,omitempty"` + // WeeklyMaintenanceStartTime AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-weeklymaintenancestarttime diff --git a/cloudformation/fsx/aws-fsx-volume_aggregateconfiguration.go b/cloudformation/fsx/aws-fsx-volume_aggregateconfiguration.go new file mode 100644 index 0000000000..62eb1faf56 --- /dev/null +++ b/cloudformation/fsx/aws-fsx-volume_aggregateconfiguration.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package fsx + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Volume_AggregateConfiguration AWS CloudFormation Resource (AWS::FSx::Volume.AggregateConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration-aggregateconfiguration.html +type Volume_AggregateConfiguration struct { + + // Aggregates AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration-aggregateconfiguration.html#cfn-fsx-volume-ontapconfiguration-aggregateconfiguration-aggregates + Aggregates []string `json:"Aggregates,omitempty"` + + // ConstituentsPerAggregate AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration-aggregateconfiguration.html#cfn-fsx-volume-ontapconfiguration-aggregateconfiguration-constituentsperaggregate + ConstituentsPerAggregate *int `json:"ConstituentsPerAggregate,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 *Volume_AggregateConfiguration) AWSCloudFormationType() string { + return "AWS::FSx::Volume.AggregateConfiguration" +} diff --git a/cloudformation/fsx/aws-fsx-volume_ontapconfiguration.go b/cloudformation/fsx/aws-fsx-volume_ontapconfiguration.go index 4287258bd6..f17600a3c7 100644 --- a/cloudformation/fsx/aws-fsx-volume_ontapconfiguration.go +++ b/cloudformation/fsx/aws-fsx-volume_ontapconfiguration.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html type Volume_OntapConfiguration struct { + // AggregateConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-aggregateconfiguration + AggregateConfiguration *Volume_AggregateConfiguration `json:"AggregateConfiguration,omitempty"` + // CopyTagsToBackups AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-copytagstobackups @@ -30,10 +35,15 @@ type Volume_OntapConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-securitystyle SecurityStyle *string `json:"SecurityStyle,omitempty"` + // SizeInBytes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-sizeinbytes + SizeInBytes *string `json:"SizeInBytes,omitempty"` + // SizeInMegabytes AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-sizeinmegabytes - SizeInMegabytes string `json:"SizeInMegabytes"` + SizeInMegabytes *string `json:"SizeInMegabytes,omitempty"` // SnaplockConfiguration AWS CloudFormation Property // Required: false @@ -60,6 +70,11 @@ type Volume_OntapConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-tieringpolicy TieringPolicy *Volume_TieringPolicy `json:"TieringPolicy,omitempty"` + // VolumeStyle AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-volumestyle + VolumeStyle *string `json:"VolumeStyle,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/gamelift/aws-gamelift-fleet.go b/cloudformation/gamelift/aws-gamelift-fleet.go index c5a551ced2..09717e75a2 100644 --- a/cloudformation/gamelift/aws-gamelift-fleet.go +++ b/cloudformation/gamelift/aws-gamelift-fleet.go @@ -18,11 +18,6 @@ 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/gamelift/aws-gamelift-gamesessionqueue.go b/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go index 522db90db1..6bfb40c769 100644 --- a/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go +++ b/cloudformation/gamelift/aws-gamelift-gamesessionqueue.go @@ -22,7 +22,7 @@ type GameSessionQueue struct { // Destinations AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-destinations - Destinations []GameSessionQueue_Destination `json:"Destinations,omitempty"` + Destinations []GameSessionQueue_GameSessionQueueDestination `json:"Destinations,omitempty"` // FilterConfiguration AWS CloudFormation Property // Required: false diff --git a/cloudformation/gamelift/aws-gamelift-gamesessionqueue_gamesessionqueuedestination.go b/cloudformation/gamelift/aws-gamelift-gamesessionqueue_gamesessionqueuedestination.go new file mode 100644 index 0000000000..a167438885 --- /dev/null +++ b/cloudformation/gamelift/aws-gamelift-gamesessionqueue_gamesessionqueuedestination.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package gamelift + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// GameSessionQueue_GameSessionQueueDestination AWS CloudFormation Resource (AWS::GameLift::GameSessionQueue.GameSessionQueueDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-gamesessionqueuedestination.html +type GameSessionQueue_GameSessionQueueDestination struct { + + // DestinationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-gamesessionqueuedestination.html#cfn-gamelift-gamesessionqueue-gamesessionqueuedestination-destinationarn + DestinationArn *string `json:"DestinationArn,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 *GameSessionQueue_GameSessionQueueDestination) AWSCloudFormationType() string { + return "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" +} diff --git a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go index 7ef0f877e1..a97d052527 100644 --- a/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go +++ b/cloudformation/gamelift/aws-gamelift-matchmakingconfiguration.go @@ -34,6 +34,11 @@ type MatchmakingConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-backfillmode BackfillMode *string `json:"BackfillMode,omitempty"` + // CreationTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-creationtime + CreationTime *string `json:"CreationTime,omitempty"` + // CustomEventData AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-customeventdata @@ -79,6 +84,11 @@ type MatchmakingConfiguration struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-requesttimeoutseconds RequestTimeoutSeconds int `json:"RequestTimeoutSeconds"` + // RuleSetArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-rulesetarn + RuleSetArn *string `json:"RuleSetArn,omitempty"` + // RuleSetName AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-rulesetname diff --git a/cloudformation/grafana/aws-grafana-workspace.go b/cloudformation/grafana/aws-grafana-workspace.go index e820879f29..3729c122e7 100644 --- a/cloudformation/grafana/aws-grafana-workspace.go +++ b/cloudformation/grafana/aws-grafana-workspace.go @@ -73,6 +73,11 @@ type Workspace struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html#cfn-grafana-workspace-permissiontype PermissionType string `json:"PermissionType"` + // PluginAdminEnabled AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html#cfn-grafana-workspace-pluginadminenabled + PluginAdminEnabled *bool `json:"PluginAdminEnabled,omitempty"` + // RoleArn AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html#cfn-grafana-workspace-rolearn diff --git a/cloudformation/guardduty/aws-guardduty-ipset.go b/cloudformation/guardduty/aws-guardduty-ipset.go index f03d59e3c6..07a6468be9 100644 --- a/cloudformation/guardduty/aws-guardduty-ipset.go +++ b/cloudformation/guardduty/aws-guardduty-ipset.go @@ -7,7 +7,6 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" - "github.com/awslabs/goformation/v7/cloudformation/tags" ) // IPSet AWS CloudFormation Resource (AWS::GuardDuty::IPSet) @@ -15,14 +14,14 @@ import ( type IPSet struct { // Activate AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-activate - Activate bool `json:"Activate"` + Activate *bool `json:"Activate,omitempty"` // DetectorId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-detectorid - DetectorId string `json:"DetectorId"` + DetectorId *string `json:"DetectorId,omitempty"` // Format AWS CloudFormation Property // Required: true @@ -35,14 +34,14 @@ type IPSet struct { Location string `json:"Location"` // Name AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-name - Name *string `json:"Name,omitempty"` + Name string `json:"Name"` // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-tags - Tags []tags.Tag `json:"Tags,omitempty"` + Tags []IPSet_TagItem `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/guardduty/aws-guardduty-ipset_tagitem.go b/cloudformation/guardduty/aws-guardduty-ipset_tagitem.go new file mode 100644 index 0000000000..80e0a6c1ec --- /dev/null +++ b/cloudformation/guardduty/aws-guardduty-ipset_tagitem.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package guardduty + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// IPSet_TagItem AWS CloudFormation Resource (AWS::GuardDuty::IPSet.TagItem) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-ipset-tagitem.html +type IPSet_TagItem struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-ipset-tagitem.html#cfn-guardduty-ipset-tagitem-key + Key string `json:"Key"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-ipset-tagitem.html#cfn-guardduty-ipset-tagitem-value + Value string `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *IPSet_TagItem) AWSCloudFormationType() string { + return "AWS::GuardDuty::IPSet.TagItem" +} diff --git a/cloudformation/guardduty/aws-guardduty-threatintelset.go b/cloudformation/guardduty/aws-guardduty-threatintelset.go index 2b67144500..aa7b4b3e0b 100644 --- a/cloudformation/guardduty/aws-guardduty-threatintelset.go +++ b/cloudformation/guardduty/aws-guardduty-threatintelset.go @@ -7,7 +7,6 @@ import ( "encoding/json" "github.com/awslabs/goformation/v7/cloudformation/policies" - "github.com/awslabs/goformation/v7/cloudformation/tags" ) // ThreatIntelSet AWS CloudFormation Resource (AWS::GuardDuty::ThreatIntelSet) @@ -15,14 +14,14 @@ import ( type ThreatIntelSet struct { // Activate AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-activate - Activate bool `json:"Activate"` + Activate *bool `json:"Activate,omitempty"` // DetectorId AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-detectorid - DetectorId string `json:"DetectorId"` + DetectorId *string `json:"DetectorId,omitempty"` // Format AWS CloudFormation Property // Required: true @@ -35,14 +34,14 @@ type ThreatIntelSet struct { Location string `json:"Location"` // Name AWS CloudFormation Property - // Required: false + // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-name - Name *string `json:"Name,omitempty"` + Name string `json:"Name"` // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-tags - Tags []tags.Tag `json:"Tags,omitempty"` + Tags []ThreatIntelSet_TagItem `json:"Tags,omitempty"` // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/guardduty/aws-guardduty-threatintelset_tagitem.go b/cloudformation/guardduty/aws-guardduty-threatintelset_tagitem.go new file mode 100644 index 0000000000..71bc3fb590 --- /dev/null +++ b/cloudformation/guardduty/aws-guardduty-threatintelset_tagitem.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package guardduty + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ThreatIntelSet_TagItem AWS CloudFormation Resource (AWS::GuardDuty::ThreatIntelSet.TagItem) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatintelset-tagitem.html +type ThreatIntelSet_TagItem struct { + + // Key AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatintelset-tagitem.html#cfn-guardduty-threatintelset-tagitem-key + Key string `json:"Key"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatintelset-tagitem.html#cfn-guardduty-threatintelset-tagitem-value + Value string `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *ThreatIntelSet_TagItem) AWSCloudFormationType() string { + return "AWS::GuardDuty::ThreatIntelSet.TagItem" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy.go new file mode 100644 index 0000000000..773bd2fabe --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy.go @@ -0,0 +1,152 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html +type LifecyclePolicy struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-description + Description *string `json:"Description,omitempty"` + + // ExecutionRole AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-executionrole + ExecutionRole string `json:"ExecutionRole"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-name + Name string `json:"Name"` + + // PolicyDetails AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-policydetails + PolicyDetails []LifecyclePolicy_PolicyDetail `json:"PolicyDetails"` + + // ResourceSelection AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-resourceselection + ResourceSelection *LifecyclePolicy_ResourceSelection `json:"ResourceSelection"` + + // ResourceType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-resourcetype + ResourceType string `json:"ResourceType"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-status + Status *string `json:"Status,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-tags + Tags map[string]string `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 *LifecyclePolicy) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy" +} + +// 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 LifecyclePolicy) MarshalJSON() ([]byte, error) { + type Properties LifecyclePolicy + 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 *LifecyclePolicy) UnmarshalJSON(b []byte) error { + type Properties LifecyclePolicy + 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 = LifecyclePolicy(*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/imagebuilder/aws-imagebuilder-lifecyclepolicy_action.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_action.go new file mode 100644 index 0000000000..38ff008159 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_action.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_Action AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.Action) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-action.html +type LifecyclePolicy_Action struct { + + // IncludeResources AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-action.html#cfn-imagebuilder-lifecyclepolicy-action-includeresources + IncludeResources *LifecyclePolicy_IncludeResources `json:"IncludeResources,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-action.html#cfn-imagebuilder-lifecyclepolicy-action-type + Type string `json:"Type"` + + // 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 *LifecyclePolicy_Action) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.Action" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_amiexclusionrules.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_amiexclusionrules.go new file mode 100644 index 0000000000..fe6a2b3c7d --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_amiexclusionrules.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_AmiExclusionRules AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html +type LifecyclePolicy_AmiExclusionRules struct { + + // IsPublic AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-ispublic + IsPublic *bool `json:"IsPublic,omitempty"` + + // LastLaunched AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-lastlaunched + LastLaunched *LifecyclePolicy_LastLaunched `json:"LastLaunched,omitempty"` + + // Regions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-regions + Regions []string `json:"Regions,omitempty"` + + // SharedAccounts AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-sharedaccounts + SharedAccounts []string `json:"SharedAccounts,omitempty"` + + // TagMap AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-tagmap + TagMap map[string]string `json:"TagMap,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 *LifecyclePolicy_AmiExclusionRules) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_exclusionrules.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_exclusionrules.go new file mode 100644 index 0000000000..2f42893953 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_exclusionrules.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_ExclusionRules AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.ExclusionRules) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-exclusionrules.html +type LifecyclePolicy_ExclusionRules struct { + + // Amis AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-exclusionrules.html#cfn-imagebuilder-lifecyclepolicy-exclusionrules-amis + Amis *LifecyclePolicy_AmiExclusionRules `json:"Amis,omitempty"` + + // TagMap AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-exclusionrules.html#cfn-imagebuilder-lifecyclepolicy-exclusionrules-tagmap + TagMap map[string]string `json:"TagMap,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 *LifecyclePolicy_ExclusionRules) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_filter.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_filter.go new file mode 100644 index 0000000000..ebb56afed7 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_filter.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_Filter AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.Filter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html +type LifecyclePolicy_Filter struct { + + // RetainAtLeast AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-retainatleast + RetainAtLeast *int `json:"RetainAtLeast,omitempty"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-type + Type string `json:"Type"` + + // Unit AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-unit + Unit *string `json:"Unit,omitempty"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-value + Value int `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_Filter) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.Filter" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_includeresources.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_includeresources.go new file mode 100644 index 0000000000..afb10e1ae6 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_includeresources.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_IncludeResources AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.IncludeResources) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html +type LifecyclePolicy_IncludeResources struct { + + // Amis AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html#cfn-imagebuilder-lifecyclepolicy-includeresources-amis + Amis *bool `json:"Amis,omitempty"` + + // Containers AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html#cfn-imagebuilder-lifecyclepolicy-includeresources-containers + Containers *bool `json:"Containers,omitempty"` + + // Snapshots AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html#cfn-imagebuilder-lifecyclepolicy-includeresources-snapshots + Snapshots *bool `json:"Snapshots,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 *LifecyclePolicy_IncludeResources) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.IncludeResources" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_lastlaunched.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_lastlaunched.go new file mode 100644 index 0000000000..22abc99c9f --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_lastlaunched.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_LastLaunched AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.LastLaunched) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-lastlaunched.html +type LifecyclePolicy_LastLaunched struct { + + // Unit AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-lastlaunched.html#cfn-imagebuilder-lifecyclepolicy-lastlaunched-unit + Unit string `json:"Unit"` + + // Value AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-lastlaunched.html#cfn-imagebuilder-lifecyclepolicy-lastlaunched-value + Value int `json:"Value"` + + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy + AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` + + // AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy + AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"` + + // AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource + AWSCloudFormationDependsOn []string `json:"-"` + + // AWSCloudFormationMetadata stores structured data associated with this resource + AWSCloudFormationMetadata map[string]interface{} `json:"-"` + + // AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created + AWSCloudFormationCondition string `json:"-"` +} + +// AWSCloudFormationType returns the AWS CloudFormation resource type +func (r *LifecyclePolicy_LastLaunched) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.LastLaunched" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_policydetail.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_policydetail.go new file mode 100644 index 0000000000..2ab6faaf75 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_policydetail.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_PolicyDetail AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.PolicyDetail) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html +type LifecyclePolicy_PolicyDetail struct { + + // Action AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html#cfn-imagebuilder-lifecyclepolicy-policydetail-action + Action *LifecyclePolicy_Action `json:"Action"` + + // ExclusionRules AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html#cfn-imagebuilder-lifecyclepolicy-policydetail-exclusionrules + ExclusionRules *LifecyclePolicy_ExclusionRules `json:"ExclusionRules,omitempty"` + + // Filter AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html#cfn-imagebuilder-lifecyclepolicy-policydetail-filter + Filter *LifecyclePolicy_Filter `json:"Filter"` + + // 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 *LifecyclePolicy_PolicyDetail) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_recipeselection.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_recipeselection.go new file mode 100644 index 0000000000..cd11679030 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_recipeselection.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_RecipeSelection AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.RecipeSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-recipeselection.html +type LifecyclePolicy_RecipeSelection struct { + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-recipeselection.html#cfn-imagebuilder-lifecyclepolicy-recipeselection-name + Name string `json:"Name"` + + // SemanticVersion AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-recipeselection.html#cfn-imagebuilder-lifecyclepolicy-recipeselection-semanticversion + SemanticVersion *string `json:"SemanticVersion,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 *LifecyclePolicy_RecipeSelection) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" +} diff --git a/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_resourceselection.go b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_resourceselection.go new file mode 100644 index 0000000000..feda38d7e3 --- /dev/null +++ b/cloudformation/imagebuilder/aws-imagebuilder-lifecyclepolicy_resourceselection.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package imagebuilder + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy_ResourceSelection AWS CloudFormation Resource (AWS::ImageBuilder::LifecyclePolicy.ResourceSelection) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-resourceselection.html +type LifecyclePolicy_ResourceSelection struct { + + // Recipes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-resourceselection.html#cfn-imagebuilder-lifecyclepolicy-resourceselection-recipes + Recipes []LifecyclePolicy_RecipeSelection `json:"Recipes,omitempty"` + + // TagMap AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-resourceselection.html#cfn-imagebuilder-lifecyclepolicy-resourceselection-tagmap + TagMap map[string]string `json:"TagMap,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 *LifecyclePolicy_ResourceSelection) AWSCloudFormationType() string { + return "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" +} diff --git a/cloudformation/iot/aws-iot-securityprofile.go b/cloudformation/iot/aws-iot-securityprofile.go index f497eba9b4..eacb0c53c6 100644 --- a/cloudformation/iot/aws-iot-securityprofile.go +++ b/cloudformation/iot/aws-iot-securityprofile.go @@ -29,6 +29,11 @@ type SecurityProfile struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-behaviors Behaviors []SecurityProfile_Behavior `json:"Behaviors,omitempty"` + // MetricsExportConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-metricsexportconfig + MetricsExportConfig *SecurityProfile_MetricsExportConfig `json:"MetricsExportConfig,omitempty"` + // SecurityProfileDescription AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html#cfn-iot-securityprofile-securityprofiledescription diff --git a/cloudformation/iot/aws-iot-securityprofile_behavior.go b/cloudformation/iot/aws-iot-securityprofile_behavior.go index 82a93a1369..2c53615deb 100644 --- a/cloudformation/iot/aws-iot-securityprofile_behavior.go +++ b/cloudformation/iot/aws-iot-securityprofile_behavior.go @@ -15,6 +15,11 @@ type SecurityProfile_Behavior struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-criteria Criteria *SecurityProfile_BehaviorCriteria `json:"Criteria,omitempty"` + // ExportMetric AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-exportmetric + ExportMetric *bool `json:"ExportMetric,omitempty"` + // Metric AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html#cfn-iot-securityprofile-behavior-metric diff --git a/cloudformation/iot/aws-iot-securityprofile_metricsexportconfig.go b/cloudformation/iot/aws-iot-securityprofile_metricsexportconfig.go new file mode 100644 index 0000000000..96495c7846 --- /dev/null +++ b/cloudformation/iot/aws-iot-securityprofile_metricsexportconfig.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package iot + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// SecurityProfile_MetricsExportConfig AWS CloudFormation Resource (AWS::IoT::SecurityProfile.MetricsExportConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricsexportconfig.html +type SecurityProfile_MetricsExportConfig struct { + + // MqttTopic AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricsexportconfig.html#cfn-iot-securityprofile-metricsexportconfig-mqtttopic + MqttTopic string `json:"MqttTopic"` + + // RoleArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricsexportconfig.html#cfn-iot-securityprofile-metricsexportconfig-rolearn + RoleArn string `json:"RoleArn"` + + // 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_MetricsExportConfig) AWSCloudFormationType() string { + return "AWS::IoT::SecurityProfile.MetricsExportConfig" +} diff --git a/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go b/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go index 8a261c9777..e7ca6182b0 100644 --- a/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go +++ b/cloudformation/iot/aws-iot-securityprofile_metrictoretain.go @@ -10,6 +10,11 @@ import ( // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html type SecurityProfile_MetricToRetain struct { + // ExportMetric AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html#cfn-iot-securityprofile-metrictoretain-exportmetric + ExportMetric *bool `json:"ExportMetric,omitempty"` + // Metric AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html#cfn-iot-securityprofile-metrictoretain-metric diff --git a/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype.go b/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype.go index c7500f87cd..6e27184e63 100644 --- a/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype.go +++ b/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype.go @@ -18,6 +18,11 @@ type ComponentType struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html#cfn-iottwinmaker-componenttype-componenttypeid ComponentTypeId string `json:"ComponentTypeId"` + // CompositeComponentTypes AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html#cfn-iottwinmaker-componenttype-compositecomponenttypes + CompositeComponentTypes map[string]ComponentType_CompositeComponentType `json:"CompositeComponentTypes,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html#cfn-iottwinmaker-componenttype-description diff --git a/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype_compositecomponenttype.go b/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype_compositecomponenttype.go new file mode 100644 index 0000000000..c5fea631e4 --- /dev/null +++ b/cloudformation/iottwinmaker/aws-iottwinmaker-componenttype_compositecomponenttype.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package iottwinmaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// ComponentType_CompositeComponentType AWS CloudFormation Resource (AWS::IoTTwinMaker::ComponentType.CompositeComponentType) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-componenttype-compositecomponenttype.html +type ComponentType_CompositeComponentType struct { + + // ComponentTypeId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-componenttype-compositecomponenttype.html#cfn-iottwinmaker-componenttype-compositecomponenttype-componenttypeid + ComponentTypeId *string `json:"ComponentTypeId,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 *ComponentType_CompositeComponentType) AWSCloudFormationType() string { + return "AWS::IoTTwinMaker::ComponentType.CompositeComponentType" +} diff --git a/cloudformation/iottwinmaker/aws-iottwinmaker-entity.go b/cloudformation/iottwinmaker/aws-iottwinmaker-entity.go index 7071a6da96..9a5cc7f983 100644 --- a/cloudformation/iottwinmaker/aws-iottwinmaker-entity.go +++ b/cloudformation/iottwinmaker/aws-iottwinmaker-entity.go @@ -18,6 +18,11 @@ type Entity struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html#cfn-iottwinmaker-entity-components Components map[string]Entity_Component `json:"Components,omitempty"` + // CompositeComponents AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html#cfn-iottwinmaker-entity-compositecomponents + CompositeComponents map[string]Entity_CompositeComponent `json:"CompositeComponents,omitempty"` + // Description AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html#cfn-iottwinmaker-entity-description diff --git a/cloudformation/iottwinmaker/aws-iottwinmaker-entity_compositecomponent.go b/cloudformation/iottwinmaker/aws-iottwinmaker-entity_compositecomponent.go new file mode 100644 index 0000000000..59d5046279 --- /dev/null +++ b/cloudformation/iottwinmaker/aws-iottwinmaker-entity_compositecomponent.go @@ -0,0 +1,67 @@ +// Code generated by "go generate". Please don't change this file directly. + +package iottwinmaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Entity_CompositeComponent AWS CloudFormation Resource (AWS::IoTTwinMaker::Entity.CompositeComponent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html +type Entity_CompositeComponent struct { + + // ComponentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-componentname + ComponentName *string `json:"ComponentName,omitempty"` + + // ComponentPath AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-componentpath + ComponentPath *string `json:"ComponentPath,omitempty"` + + // ComponentTypeId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-componenttypeid + ComponentTypeId *string `json:"ComponentTypeId,omitempty"` + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-description + Description *string `json:"Description,omitempty"` + + // Properties AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-properties + Properties map[string]Entity_Property `json:"Properties,omitempty"` + + // PropertyGroups AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-propertygroups + PropertyGroups map[string]Entity_PropertyGroup `json:"PropertyGroups,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iottwinmaker-entity-compositecomponent.html#cfn-iottwinmaker-entity-compositecomponent-status + Status *Entity_Status `json:"Status,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 *Entity_CompositeComponent) AWSCloudFormationType() string { + return "AWS::IoTTwinMaker::Entity.CompositeComponent" +} diff --git a/cloudformation/lambda/aws-lambda-function.go b/cloudformation/lambda/aws-lambda-function.go index 175b73445e..2876873f1b 100644 --- a/cloudformation/lambda/aws-lambda-function.go +++ b/cloudformation/lambda/aws-lambda-function.go @@ -79,6 +79,11 @@ type Function struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers Layers []string `json:"Layers,omitempty"` + // LoggingConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig + LoggingConfig *Function_LoggingConfig `json:"LoggingConfig,omitempty"` + // MemorySize AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize diff --git a/cloudformation/lambda/aws-lambda-function_loggingconfig.go b/cloudformation/lambda/aws-lambda-function_loggingconfig.go new file mode 100644 index 0000000000..2fd0b1e47a --- /dev/null +++ b/cloudformation/lambda/aws-lambda-function_loggingconfig.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package lambda + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Function_LoggingConfig AWS CloudFormation Resource (AWS::Lambda::Function.LoggingConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html +type Function_LoggingConfig struct { + + // ApplicationLogLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html#cfn-lambda-function-loggingconfig-applicationloglevel + ApplicationLogLevel *string `json:"ApplicationLogLevel,omitempty"` + + // LogFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html#cfn-lambda-function-loggingconfig-logformat + LogFormat *string `json:"LogFormat,omitempty"` + + // LogGroup AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html#cfn-lambda-function-loggingconfig-loggroup + LogGroup *string `json:"LogGroup,omitempty"` + + // SystemLogLevel AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html#cfn-lambda-function-loggingconfig-systemloglevel + SystemLogLevel *string `json:"SystemLogLevel,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 *Function_LoggingConfig) AWSCloudFormationType() string { + return "AWS::Lambda::Function.LoggingConfig" +} diff --git a/cloudformation/logs/aws-logs-delivery.go b/cloudformation/logs/aws-logs-delivery.go new file mode 100644 index 0000000000..5be7b8b0b3 --- /dev/null +++ b/cloudformation/logs/aws-logs-delivery.go @@ -0,0 +1,128 @@ +// Code generated by "go generate". Please don't change this file directly. + +package logs + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// Delivery AWS CloudFormation Resource (AWS::Logs::Delivery) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html +type Delivery struct { + + // DeliveryDestinationArn AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html#cfn-logs-delivery-deliverydestinationarn + DeliveryDestinationArn string `json:"DeliveryDestinationArn"` + + // DeliverySourceName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html#cfn-logs-delivery-deliverysourcename + DeliverySourceName string `json:"DeliverySourceName"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html#cfn-logs-delivery-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 *Delivery) AWSCloudFormationType() string { + return "AWS::Logs::Delivery" +} + +// 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 Delivery) MarshalJSON() ([]byte, error) { + type Properties Delivery + 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 *Delivery) UnmarshalJSON(b []byte) error { + type Properties Delivery + 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 = Delivery(*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/logs/aws-logs-deliverydestination.go b/cloudformation/logs/aws-logs-deliverydestination.go new file mode 100644 index 0000000000..10beb9e520 --- /dev/null +++ b/cloudformation/logs/aws-logs-deliverydestination.go @@ -0,0 +1,133 @@ +// Code generated by "go generate". Please don't change this file directly. + +package logs + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// DeliveryDestination AWS CloudFormation Resource (AWS::Logs::DeliveryDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html +type DeliveryDestination struct { + + // DeliveryDestinationPolicy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html#cfn-logs-deliverydestination-deliverydestinationpolicy + DeliveryDestinationPolicy interface{} `json:"DeliveryDestinationPolicy,omitempty"` + + // DestinationResourceArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html#cfn-logs-deliverydestination-destinationresourcearn + DestinationResourceArn *string `json:"DestinationResourceArn,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html#cfn-logs-deliverydestination-name + Name string `json:"Name"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html#cfn-logs-deliverydestination-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 *DeliveryDestination) AWSCloudFormationType() string { + return "AWS::Logs::DeliveryDestination" +} + +// 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 DeliveryDestination) MarshalJSON() ([]byte, error) { + type Properties DeliveryDestination + 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 *DeliveryDestination) UnmarshalJSON(b []byte) error { + type Properties DeliveryDestination + 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 = DeliveryDestination(*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/logs/aws-logs-deliverysource.go b/cloudformation/logs/aws-logs-deliverysource.go new file mode 100644 index 0000000000..f8d27c09b9 --- /dev/null +++ b/cloudformation/logs/aws-logs-deliverysource.go @@ -0,0 +1,133 @@ +// Code generated by "go generate". Please don't change this file directly. + +package logs + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// DeliverySource AWS CloudFormation Resource (AWS::Logs::DeliverySource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html +type DeliverySource struct { + + // LogType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html#cfn-logs-deliverysource-logtype + LogType *string `json:"LogType,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html#cfn-logs-deliverysource-name + Name string `json:"Name"` + + // ResourceArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html#cfn-logs-deliverysource-resourcearn + ResourceArn *string `json:"ResourceArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html#cfn-logs-deliverysource-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 *DeliverySource) AWSCloudFormationType() string { + return "AWS::Logs::DeliverySource" +} + +// 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 DeliverySource) MarshalJSON() ([]byte, error) { + type Properties DeliverySource + 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 *DeliverySource) UnmarshalJSON(b []byte) error { + type Properties DeliverySource + 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 = DeliverySource(*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/logs/aws-logs-loganomalydetector.go b/cloudformation/logs/aws-logs-loganomalydetector.go new file mode 100644 index 0000000000..6dd13bacdc --- /dev/null +++ b/cloudformation/logs/aws-logs-loganomalydetector.go @@ -0,0 +1,147 @@ +// Code generated by "go generate". Please don't change this file directly. + +package logs + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LogAnomalyDetector AWS CloudFormation Resource (AWS::Logs::LogAnomalyDetector) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html +type LogAnomalyDetector struct { + + // AccountId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-accountid + AccountId *string `json:"AccountId,omitempty"` + + // AnomalyVisibilityTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-anomalyvisibilitytime + AnomalyVisibilityTime *float64 `json:"AnomalyVisibilityTime,omitempty"` + + // DetectorName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-detectorname + DetectorName *string `json:"DetectorName,omitempty"` + + // EvaluationFrequency AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-evaluationfrequency + EvaluationFrequency *string `json:"EvaluationFrequency,omitempty"` + + // FilterPattern AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-filterpattern + FilterPattern *string `json:"FilterPattern,omitempty"` + + // KmsKeyId AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-kmskeyid + KmsKeyId *string `json:"KmsKeyId,omitempty"` + + // LogGroupArnList AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html#cfn-logs-loganomalydetector-loggrouparnlist + LogGroupArnList []string `json:"LogGroupArnList,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 *LogAnomalyDetector) AWSCloudFormationType() string { + return "AWS::Logs::LogAnomalyDetector" +} + +// 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 LogAnomalyDetector) MarshalJSON() ([]byte, error) { + type Properties LogAnomalyDetector + 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 *LogAnomalyDetector) UnmarshalJSON(b []byte) error { + type Properties LogAnomalyDetector + 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 = LogAnomalyDetector(*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/logs/aws-logs-loggroup.go b/cloudformation/logs/aws-logs-loggroup.go index 1079855b47..5d2c85f835 100644 --- a/cloudformation/logs/aws-logs-loggroup.go +++ b/cloudformation/logs/aws-logs-loggroup.go @@ -24,6 +24,11 @@ type LogGroup struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-kmskeyid KmsKeyId *string `json:"KmsKeyId,omitempty"` + // LogGroupClass AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-loggroupclass + LogGroupClass *string `json:"LogGroupClass,omitempty"` + // LogGroupName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-loggroupname diff --git a/cloudformation/managedblockchain/aws-managedblockchain-accessor.go b/cloudformation/managedblockchain/aws-managedblockchain-accessor.go index b452a1a77a..e284ee4470 100644 --- a/cloudformation/managedblockchain/aws-managedblockchain-accessor.go +++ b/cloudformation/managedblockchain/aws-managedblockchain-accessor.go @@ -19,6 +19,11 @@ type Accessor struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html#cfn-managedblockchain-accessor-accessortype AccessorType string `json:"AccessorType"` + // NetworkType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html#cfn-managedblockchain-accessor-networktype + NetworkType *string `json:"NetworkType,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html#cfn-managedblockchain-accessor-tags diff --git a/cloudformation/mwaa/aws-mwaa-environment.go b/cloudformation/mwaa/aws-mwaa-environment.go index 255fc0e26f..402eb5567e 100644 --- a/cloudformation/mwaa/aws-mwaa-environment.go +++ b/cloudformation/mwaa/aws-mwaa-environment.go @@ -28,6 +28,11 @@ type Environment struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-dags3path DagS3Path *string `json:"DagS3Path,omitempty"` + // EndpointManagement AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-endpointmanagement + EndpointManagement *string `json:"EndpointManagement,omitempty"` + // EnvironmentClass AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-environmentclass diff --git a/cloudformation/opensearchserverless/aws-opensearchserverless-collection.go b/cloudformation/opensearchserverless/aws-opensearchserverless-collection.go index 920eff758a..81a72a3fbd 100644 --- a/cloudformation/opensearchserverless/aws-opensearchserverless-collection.go +++ b/cloudformation/opensearchserverless/aws-opensearchserverless-collection.go @@ -24,6 +24,11 @@ type Collection struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-name Name string `json:"Name"` + // StandbyReplicas AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-standbyreplicas + StandbyReplicas *string `json:"StandbyReplicas,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html#cfn-opensearchserverless-collection-tags diff --git a/cloudformation/opensearchserverless/aws-opensearchserverless-lifecyclepolicy.go b/cloudformation/opensearchserverless/aws-opensearchserverless-lifecyclepolicy.go new file mode 100644 index 0000000000..110cfda464 --- /dev/null +++ b/cloudformation/opensearchserverless/aws-opensearchserverless-lifecyclepolicy.go @@ -0,0 +1,132 @@ +// Code generated by "go generate". Please don't change this file directly. + +package opensearchserverless + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// LifecyclePolicy AWS CloudFormation Resource (AWS::OpenSearchServerless::LifecyclePolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html +type LifecyclePolicy struct { + + // Description AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html#cfn-opensearchserverless-lifecyclepolicy-description + Description *string `json:"Description,omitempty"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html#cfn-opensearchserverless-lifecyclepolicy-name + Name string `json:"Name"` + + // Policy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html#cfn-opensearchserverless-lifecyclepolicy-policy + Policy string `json:"Policy"` + + // Type AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html#cfn-opensearchserverless-lifecyclepolicy-type + Type string `json:"Type"` + + // 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 *LifecyclePolicy) AWSCloudFormationType() string { + return "AWS::OpenSearchServerless::LifecyclePolicy" +} + +// 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 LifecyclePolicy) MarshalJSON() ([]byte, error) { + type Properties LifecyclePolicy + 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 *LifecyclePolicy) UnmarshalJSON(b []byte) error { + type Properties LifecyclePolicy + 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 = LifecyclePolicy(*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/pipes/aws-pipes-pipe.go b/cloudformation/pipes/aws-pipes-pipe.go index 8e4f2e56e7..afd649e4de 100644 --- a/cloudformation/pipes/aws-pipes-pipe.go +++ b/cloudformation/pipes/aws-pipes-pipe.go @@ -33,6 +33,11 @@ type Pipe struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html#cfn-pipes-pipe-enrichmentparameters EnrichmentParameters *Pipe_PipeEnrichmentParameters `json:"EnrichmentParameters,omitempty"` + // LogConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html#cfn-pipes-pipe-logconfiguration + LogConfiguration *Pipe_PipeLogConfiguration `json:"LogConfiguration,omitempty"` + // Name AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html#cfn-pipes-pipe-name diff --git a/cloudformation/pipes/aws-pipes-pipe_cloudwatchlogslogdestination.go b/cloudformation/pipes/aws-pipes-pipe_cloudwatchlogslogdestination.go new file mode 100644 index 0000000000..96b7973324 --- /dev/null +++ b/cloudformation/pipes/aws-pipes-pipe_cloudwatchlogslogdestination.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package pipes + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Pipe_CloudwatchLogsLogDestination AWS CloudFormation Resource (AWS::Pipes::Pipe.CloudwatchLogsLogDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-cloudwatchlogslogdestination.html +type Pipe_CloudwatchLogsLogDestination struct { + + // LogGroupArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-cloudwatchlogslogdestination.html#cfn-pipes-pipe-cloudwatchlogslogdestination-loggrouparn + LogGroupArn *string `json:"LogGroupArn,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 *Pipe_CloudwatchLogsLogDestination) AWSCloudFormationType() string { + return "AWS::Pipes::Pipe.CloudwatchLogsLogDestination" +} diff --git a/cloudformation/pipes/aws-pipes-pipe_firehoselogdestination.go b/cloudformation/pipes/aws-pipes-pipe_firehoselogdestination.go new file mode 100644 index 0000000000..8d92f9565a --- /dev/null +++ b/cloudformation/pipes/aws-pipes-pipe_firehoselogdestination.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package pipes + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Pipe_FirehoseLogDestination AWS CloudFormation Resource (AWS::Pipes::Pipe.FirehoseLogDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-firehoselogdestination.html +type Pipe_FirehoseLogDestination struct { + + // DeliveryStreamArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-firehoselogdestination.html#cfn-pipes-pipe-firehoselogdestination-deliverystreamarn + DeliveryStreamArn *string `json:"DeliveryStreamArn,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 *Pipe_FirehoseLogDestination) AWSCloudFormationType() string { + return "AWS::Pipes::Pipe.FirehoseLogDestination" +} diff --git a/cloudformation/pipes/aws-pipes-pipe_pipelogconfiguration.go b/cloudformation/pipes/aws-pipes-pipe_pipelogconfiguration.go new file mode 100644 index 0000000000..ca1714d6f5 --- /dev/null +++ b/cloudformation/pipes/aws-pipes-pipe_pipelogconfiguration.go @@ -0,0 +1,57 @@ +// Code generated by "go generate". Please don't change this file directly. + +package pipes + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Pipe_PipeLogConfiguration AWS CloudFormation Resource (AWS::Pipes::Pipe.PipeLogConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipelogconfiguration.html +type Pipe_PipeLogConfiguration struct { + + // CloudwatchLogsLogDestination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipelogconfiguration.html#cfn-pipes-pipe-pipelogconfiguration-cloudwatchlogslogdestination + CloudwatchLogsLogDestination *Pipe_CloudwatchLogsLogDestination `json:"CloudwatchLogsLogDestination,omitempty"` + + // FirehoseLogDestination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipelogconfiguration.html#cfn-pipes-pipe-pipelogconfiguration-firehoselogdestination + FirehoseLogDestination *Pipe_FirehoseLogDestination `json:"FirehoseLogDestination,omitempty"` + + // IncludeExecutionData AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipelogconfiguration.html#cfn-pipes-pipe-pipelogconfiguration-includeexecutiondata + IncludeExecutionData []string `json:"IncludeExecutionData,omitempty"` + + // Level AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipelogconfiguration.html#cfn-pipes-pipe-pipelogconfiguration-level + Level *string `json:"Level,omitempty"` + + // S3LogDestination AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipelogconfiguration.html#cfn-pipes-pipe-pipelogconfiguration-s3logdestination + S3LogDestination *Pipe_S3LogDestination `json:"S3LogDestination,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 *Pipe_PipeLogConfiguration) AWSCloudFormationType() string { + return "AWS::Pipes::Pipe.PipeLogConfiguration" +} diff --git a/cloudformation/pipes/aws-pipes-pipe_s3logdestination.go b/cloudformation/pipes/aws-pipes-pipe_s3logdestination.go new file mode 100644 index 0000000000..5dd9278fd8 --- /dev/null +++ b/cloudformation/pipes/aws-pipes-pipe_s3logdestination.go @@ -0,0 +1,52 @@ +// Code generated by "go generate". Please don't change this file directly. + +package pipes + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Pipe_S3LogDestination AWS CloudFormation Resource (AWS::Pipes::Pipe.S3LogDestination) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-s3logdestination.html +type Pipe_S3LogDestination struct { + + // BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-s3logdestination.html#cfn-pipes-pipe-s3logdestination-bucketname + BucketName *string `json:"BucketName,omitempty"` + + // BucketOwner AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-s3logdestination.html#cfn-pipes-pipe-s3logdestination-bucketowner + BucketOwner *string `json:"BucketOwner,omitempty"` + + // OutputFormat AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-s3logdestination.html#cfn-pipes-pipe-s3logdestination-outputformat + OutputFormat *string `json:"OutputFormat,omitempty"` + + // Prefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-s3logdestination.html#cfn-pipes-pipe-s3logdestination-prefix + Prefix *string `json:"Prefix,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 *Pipe_S3LogDestination) AWSCloudFormationType() string { + return "AWS::Pipes::Pipe.S3LogDestination" +} diff --git a/cloudformation/quicksight/aws-quicksight-dashboard_dashboardversion.go b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardversion.go index d4ac31f067..b7b803c130 100644 --- a/cloudformation/quicksight/aws-quicksight-dashboard_dashboardversion.go +++ b/cloudformation/quicksight/aws-quicksight-dashboard_dashboardversion.go @@ -35,11 +35,6 @@ type Dashboard_DashboardVersion struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversion.html#cfn-quicksight-dashboard-dashboardversion-errors Errors []Dashboard_DashboardError `json:"Errors,omitempty"` - // Options AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversion.html#cfn-quicksight-dashboard-dashboardversion-options - Options *Dashboard_AssetOptions `json:"Options,omitempty"` - // Sheets AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversion.html#cfn-quicksight-dashboard-dashboardversion-sheets diff --git a/cloudformation/quicksight/aws-quicksight-dataset_castcolumntypeoperation.go b/cloudformation/quicksight/aws-quicksight-dataset_castcolumntypeoperation.go index 9772832a63..34b7cdfd4c 100644 --- a/cloudformation/quicksight/aws-quicksight-dataset_castcolumntypeoperation.go +++ b/cloudformation/quicksight/aws-quicksight-dataset_castcolumntypeoperation.go @@ -25,6 +25,11 @@ type DataSet_CastColumnTypeOperation struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-castcolumntypeoperation.html#cfn-quicksight-dataset-castcolumntypeoperation-newcolumntype NewColumnType string `json:"NewColumnType"` + // SubType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-castcolumntypeoperation.html#cfn-quicksight-dataset-castcolumntypeoperation-subtype + SubType *string `json:"SubType,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/quicksight/aws-quicksight-dataset_inputcolumn.go b/cloudformation/quicksight/aws-quicksight-dataset_inputcolumn.go index 0a7310f27d..d095bfe3fc 100644 --- a/cloudformation/quicksight/aws-quicksight-dataset_inputcolumn.go +++ b/cloudformation/quicksight/aws-quicksight-dataset_inputcolumn.go @@ -15,6 +15,11 @@ type DataSet_InputColumn struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-inputcolumn.html#cfn-quicksight-dataset-inputcolumn-name Name string `json:"Name"` + // SubType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-inputcolumn.html#cfn-quicksight-dataset-inputcolumn-subtype + SubType *string `json:"SubType,omitempty"` + // Type AWS CloudFormation Property // Required: true // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-inputcolumn.html#cfn-quicksight-dataset-inputcolumn-type diff --git a/cloudformation/quicksight/aws-quicksight-dataset_outputcolumn.go b/cloudformation/quicksight/aws-quicksight-dataset_outputcolumn.go index 953b8b41e8..976fdac0aa 100644 --- a/cloudformation/quicksight/aws-quicksight-dataset_outputcolumn.go +++ b/cloudformation/quicksight/aws-quicksight-dataset_outputcolumn.go @@ -20,6 +20,11 @@ type DataSet_OutputColumn struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-outputcolumn.html#cfn-quicksight-dataset-outputcolumn-name Name *string `json:"Name,omitempty"` + // SubType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-outputcolumn.html#cfn-quicksight-dataset-outputcolumn-subtype + SubType *string `json:"SubType,omitempty"` + // Type AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-outputcolumn.html#cfn-quicksight-dataset-outputcolumn-type diff --git a/cloudformation/quicksight/aws-quicksight-template_templateversion.go b/cloudformation/quicksight/aws-quicksight-template_templateversion.go index f49fe1683a..1b7cc17713 100644 --- a/cloudformation/quicksight/aws-quicksight-template_templateversion.go +++ b/cloudformation/quicksight/aws-quicksight-template_templateversion.go @@ -30,11 +30,6 @@ type Template_TemplateVersion struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templateversion.html#cfn-quicksight-template-templateversion-errors Errors []Template_TemplateError `json:"Errors,omitempty"` - // Options AWS CloudFormation Property - // Required: false - // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templateversion.html#cfn-quicksight-template-templateversion-options - Options *Template_AssetOptions `json:"Options,omitempty"` - // Sheets AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-template-templateversion.html#cfn-quicksight-template-templateversion-sheets diff --git a/cloudformation/resourceexplorer2/aws-resourceexplorer2-view.go b/cloudformation/resourceexplorer2/aws-resourceexplorer2-view.go index 646f811018..daaf2aae20 100644 --- a/cloudformation/resourceexplorer2/aws-resourceexplorer2-view.go +++ b/cloudformation/resourceexplorer2/aws-resourceexplorer2-view.go @@ -23,6 +23,11 @@ type View struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html#cfn-resourceexplorer2-view-includedproperties IncludedProperties []View_IncludedProperty `json:"IncludedProperties,omitempty"` + // Scope AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html#cfn-resourceexplorer2-view-scope + Scope *string `json:"Scope,omitempty"` + // Tags AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html#cfn-resourceexplorer2-view-tags diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go b/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go index 515885179c..59aff09ee0 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverendpoint.go @@ -39,6 +39,11 @@ type ResolverEndpoint struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-preferredinstancetype PreferredInstanceType *string `json:"PreferredInstanceType,omitempty"` + // Protocols AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-protocols + Protocols []string `json:"Protocols,omitempty"` + // ResolverEndpointType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-resolverendpointtype diff --git a/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go b/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go index 261028ae21..b1221b37da 100644 --- a/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go +++ b/cloudformation/route53resolver/aws-route53resolver-resolverrule_targetaddress.go @@ -25,6 +25,11 @@ type ResolverRule_TargetAddress struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-port Port *string `json:"Port,omitempty"` + // Protocol AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-protocol + Protocol *string `json:"Protocol,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/s3/aws-s3-accessgrant.go b/cloudformation/s3/aws-s3-accessgrant.go new file mode 100644 index 0000000000..b21c9e3ab8 --- /dev/null +++ b/cloudformation/s3/aws-s3-accessgrant.go @@ -0,0 +1,148 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// AccessGrant AWS CloudFormation Resource (AWS::S3::AccessGrant) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html +type AccessGrant struct { + + // AccessGrantsLocationConfiguration AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-accessgrantslocationconfiguration + AccessGrantsLocationConfiguration *AccessGrant_AccessGrantsLocationConfiguration `json:"AccessGrantsLocationConfiguration,omitempty"` + + // AccessGrantsLocationId AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-accessgrantslocationid + AccessGrantsLocationId string `json:"AccessGrantsLocationId"` + + // ApplicationArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-applicationarn + ApplicationArn *string `json:"ApplicationArn,omitempty"` + + // Grantee AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-grantee + Grantee *AccessGrant_Grantee `json:"Grantee"` + + // Permission AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-permission + Permission string `json:"Permission"` + + // S3PrefixType AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-s3prefixtype + S3PrefixType *string `json:"S3PrefixType,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html#cfn-s3-accessgrant-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 *AccessGrant) AWSCloudFormationType() string { + return "AWS::S3::AccessGrant" +} + +// 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 AccessGrant) MarshalJSON() ([]byte, error) { + type Properties AccessGrant + 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 *AccessGrant) UnmarshalJSON(b []byte) error { + type Properties AccessGrant + 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 = AccessGrant(*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/s3/aws-s3-accessgrant_accessgrantslocationconfiguration.go b/cloudformation/s3/aws-s3-accessgrant_accessgrantslocationconfiguration.go new file mode 100644 index 0000000000..a0b9c4526d --- /dev/null +++ b/cloudformation/s3/aws-s3-accessgrant_accessgrantslocationconfiguration.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AccessGrant_AccessGrantsLocationConfiguration AWS CloudFormation Resource (AWS::S3::AccessGrant.AccessGrantsLocationConfiguration) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accessgrant-accessgrantslocationconfiguration.html +type AccessGrant_AccessGrantsLocationConfiguration struct { + + // S3SubPrefix AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accessgrant-accessgrantslocationconfiguration.html#cfn-s3-accessgrant-accessgrantslocationconfiguration-s3subprefix + S3SubPrefix string `json:"S3SubPrefix"` + + // 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 *AccessGrant_AccessGrantsLocationConfiguration) AWSCloudFormationType() string { + return "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" +} diff --git a/cloudformation/s3/aws-s3-accessgrant_grantee.go b/cloudformation/s3/aws-s3-accessgrant_grantee.go new file mode 100644 index 0000000000..f2ab52b027 --- /dev/null +++ b/cloudformation/s3/aws-s3-accessgrant_grantee.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// AccessGrant_Grantee AWS CloudFormation Resource (AWS::S3::AccessGrant.Grantee) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accessgrant-grantee.html +type AccessGrant_Grantee struct { + + // GranteeIdentifier AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accessgrant-grantee.html#cfn-s3-accessgrant-grantee-granteeidentifier + GranteeIdentifier string `json:"GranteeIdentifier"` + + // GranteeType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accessgrant-grantee.html#cfn-s3-accessgrant-grantee-granteetype + GranteeType string `json:"GranteeType"` + + // 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 *AccessGrant_Grantee) AWSCloudFormationType() string { + return "AWS::S3::AccessGrant.Grantee" +} diff --git a/cloudformation/s3/aws-s3-accessgrantsinstance.go b/cloudformation/s3/aws-s3-accessgrantsinstance.go new file mode 100644 index 0000000000..64f1274dd2 --- /dev/null +++ b/cloudformation/s3/aws-s3-accessgrantsinstance.go @@ -0,0 +1,123 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// AccessGrantsInstance AWS CloudFormation Resource (AWS::S3::AccessGrantsInstance) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html +type AccessGrantsInstance struct { + + // IdentityCenterArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html#cfn-s3-accessgrantsinstance-identitycenterarn + IdentityCenterArn *string `json:"IdentityCenterArn,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html#cfn-s3-accessgrantsinstance-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 *AccessGrantsInstance) AWSCloudFormationType() string { + return "AWS::S3::AccessGrantsInstance" +} + +// 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 AccessGrantsInstance) MarshalJSON() ([]byte, error) { + type Properties AccessGrantsInstance + 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 *AccessGrantsInstance) UnmarshalJSON(b []byte) error { + type Properties AccessGrantsInstance + 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 = AccessGrantsInstance(*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/s3/aws-s3-accessgrantslocation.go b/cloudformation/s3/aws-s3-accessgrantslocation.go new file mode 100644 index 0000000000..a014089b3d --- /dev/null +++ b/cloudformation/s3/aws-s3-accessgrantslocation.go @@ -0,0 +1,128 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// AccessGrantsLocation AWS CloudFormation Resource (AWS::S3::AccessGrantsLocation) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html +type AccessGrantsLocation struct { + + // IamRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html#cfn-s3-accessgrantslocation-iamrolearn + IamRoleArn *string `json:"IamRoleArn,omitempty"` + + // LocationScope AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html#cfn-s3-accessgrantslocation-locationscope + LocationScope *string `json:"LocationScope,omitempty"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html#cfn-s3-accessgrantslocation-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 *AccessGrantsLocation) AWSCloudFormationType() string { + return "AWS::S3::AccessGrantsLocation" +} + +// 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 AccessGrantsLocation) MarshalJSON() ([]byte, error) { + type Properties AccessGrantsLocation + 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 *AccessGrantsLocation) UnmarshalJSON(b []byte) error { + type Properties AccessGrantsLocation + 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 = AccessGrantsLocation(*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/s3/aws-s3-storagelensgroup.go b/cloudformation/s3/aws-s3-storagelensgroup.go new file mode 100644 index 0000000000..bcc40c8453 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelensgroup.go @@ -0,0 +1,128 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// StorageLensGroup AWS CloudFormation Resource (AWS::S3::StorageLensGroup) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html +type StorageLensGroup struct { + + // Filter AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html#cfn-s3-storagelensgroup-filter + Filter *StorageLensGroup_Filter `json:"Filter"` + + // Name AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html#cfn-s3-storagelensgroup-name + Name string `json:"Name"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html#cfn-s3-storagelensgroup-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 *StorageLensGroup) AWSCloudFormationType() string { + return "AWS::S3::StorageLensGroup" +} + +// 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 StorageLensGroup) MarshalJSON() ([]byte, error) { + type Properties StorageLensGroup + 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 *StorageLensGroup) UnmarshalJSON(b []byte) error { + type Properties StorageLensGroup + 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 = StorageLensGroup(*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/s3/aws-s3-storagelensgroup_and.go b/cloudformation/s3/aws-s3-storagelensgroup_and.go new file mode 100644 index 0000000000..7ea0a39829 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelensgroup_and.go @@ -0,0 +1,58 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// StorageLensGroup_And AWS CloudFormation Resource (AWS::S3::StorageLensGroup.And) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-and.html +type StorageLensGroup_And struct { + + // MatchAnyPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-and.html#cfn-s3-storagelensgroup-and-matchanyprefix + MatchAnyPrefix []string `json:"MatchAnyPrefix,omitempty"` + + // MatchAnySuffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-and.html#cfn-s3-storagelensgroup-and-matchanysuffix + MatchAnySuffix []string `json:"MatchAnySuffix,omitempty"` + + // MatchAnyTag AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-and.html#cfn-s3-storagelensgroup-and-matchanytag + MatchAnyTag []tags.Tag `json:"MatchAnyTag,omitempty"` + + // MatchObjectAge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-and.html#cfn-s3-storagelensgroup-and-matchobjectage + MatchObjectAge *StorageLensGroup_MatchObjectAge `json:"MatchObjectAge,omitempty"` + + // MatchObjectSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-and.html#cfn-s3-storagelensgroup-and-matchobjectsize + MatchObjectSize *StorageLensGroup_MatchObjectSize `json:"MatchObjectSize,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 *StorageLensGroup_And) AWSCloudFormationType() string { + return "AWS::S3::StorageLensGroup.And" +} diff --git a/cloudformation/s3/aws-s3-storagelensgroup_filter.go b/cloudformation/s3/aws-s3-storagelensgroup_filter.go new file mode 100644 index 0000000000..1f53c21781 --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelensgroup_filter.go @@ -0,0 +1,68 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// StorageLensGroup_Filter AWS CloudFormation Resource (AWS::S3::StorageLensGroup.Filter) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html +type StorageLensGroup_Filter struct { + + // And AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-and + And *StorageLensGroup_And `json:"And,omitempty"` + + // MatchAnyPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-matchanyprefix + MatchAnyPrefix []string `json:"MatchAnyPrefix,omitempty"` + + // MatchAnySuffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-matchanysuffix + MatchAnySuffix []string `json:"MatchAnySuffix,omitempty"` + + // MatchAnyTag AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-matchanytag + MatchAnyTag []tags.Tag `json:"MatchAnyTag,omitempty"` + + // MatchObjectAge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-matchobjectage + MatchObjectAge *StorageLensGroup_MatchObjectAge `json:"MatchObjectAge,omitempty"` + + // MatchObjectSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-matchobjectsize + MatchObjectSize *StorageLensGroup_MatchObjectSize `json:"MatchObjectSize,omitempty"` + + // Or AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-filter.html#cfn-s3-storagelensgroup-filter-or + Or *StorageLensGroup_Or `json:"Or,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 *StorageLensGroup_Filter) AWSCloudFormationType() string { + return "AWS::S3::StorageLensGroup.Filter" +} diff --git a/cloudformation/s3/aws-s3-storagelensgroup_matchobjectage.go b/cloudformation/s3/aws-s3-storagelensgroup_matchobjectage.go new file mode 100644 index 0000000000..ef7ff3cc1e --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelensgroup_matchobjectage.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StorageLensGroup_MatchObjectAge AWS CloudFormation Resource (AWS::S3::StorageLensGroup.MatchObjectAge) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-matchobjectage.html +type StorageLensGroup_MatchObjectAge struct { + + // DaysGreaterThan AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-matchobjectage.html#cfn-s3-storagelensgroup-matchobjectage-daysgreaterthan + DaysGreaterThan *int `json:"DaysGreaterThan,omitempty"` + + // DaysLessThan AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-matchobjectage.html#cfn-s3-storagelensgroup-matchobjectage-dayslessthan + DaysLessThan *int `json:"DaysLessThan,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 *StorageLensGroup_MatchObjectAge) AWSCloudFormationType() string { + return "AWS::S3::StorageLensGroup.MatchObjectAge" +} diff --git a/cloudformation/s3/aws-s3-storagelensgroup_matchobjectsize.go b/cloudformation/s3/aws-s3-storagelensgroup_matchobjectsize.go new file mode 100644 index 0000000000..c4a9ffc40d --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelensgroup_matchobjectsize.go @@ -0,0 +1,42 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// StorageLensGroup_MatchObjectSize AWS CloudFormation Resource (AWS::S3::StorageLensGroup.MatchObjectSize) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-matchobjectsize.html +type StorageLensGroup_MatchObjectSize struct { + + // BytesGreaterThan AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-matchobjectsize.html#cfn-s3-storagelensgroup-matchobjectsize-bytesgreaterthan + BytesGreaterThan *int `json:"BytesGreaterThan,omitempty"` + + // BytesLessThan AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-matchobjectsize.html#cfn-s3-storagelensgroup-matchobjectsize-byteslessthan + BytesLessThan *int `json:"BytesLessThan,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 *StorageLensGroup_MatchObjectSize) AWSCloudFormationType() string { + return "AWS::S3::StorageLensGroup.MatchObjectSize" +} diff --git a/cloudformation/s3/aws-s3-storagelensgroup_or.go b/cloudformation/s3/aws-s3-storagelensgroup_or.go new file mode 100644 index 0000000000..c77c572c7c --- /dev/null +++ b/cloudformation/s3/aws-s3-storagelensgroup_or.go @@ -0,0 +1,58 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3 + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// StorageLensGroup_Or AWS CloudFormation Resource (AWS::S3::StorageLensGroup.Or) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-or.html +type StorageLensGroup_Or struct { + + // MatchAnyPrefix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-or.html#cfn-s3-storagelensgroup-or-matchanyprefix + MatchAnyPrefix []string `json:"MatchAnyPrefix,omitempty"` + + // MatchAnySuffix AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-or.html#cfn-s3-storagelensgroup-or-matchanysuffix + MatchAnySuffix []string `json:"MatchAnySuffix,omitempty"` + + // MatchAnyTag AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-or.html#cfn-s3-storagelensgroup-or-matchanytag + MatchAnyTag []tags.Tag `json:"MatchAnyTag,omitempty"` + + // MatchObjectAge AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-or.html#cfn-s3-storagelensgroup-or-matchobjectage + MatchObjectAge *StorageLensGroup_MatchObjectAge `json:"MatchObjectAge,omitempty"` + + // MatchObjectSize AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelensgroup-or.html#cfn-s3-storagelensgroup-or-matchobjectsize + MatchObjectSize *StorageLensGroup_MatchObjectSize `json:"MatchObjectSize,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 *StorageLensGroup_Or) AWSCloudFormationType() string { + return "AWS::S3::StorageLensGroup.Or" +} diff --git a/cloudformation/s3express/aws-s3express-bucketpolicy.go b/cloudformation/s3express/aws-s3express-bucketpolicy.go new file mode 100644 index 0000000000..6eb81154cd --- /dev/null +++ b/cloudformation/s3express/aws-s3express-bucketpolicy.go @@ -0,0 +1,122 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3express + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// BucketPolicy AWS CloudFormation Resource (AWS::S3Express::BucketPolicy) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html +type BucketPolicy struct { + + // Bucket AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html#cfn-s3express-bucketpolicy-bucket + Bucket string `json:"Bucket"` + + // PolicyDocument AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html#cfn-s3express-bucketpolicy-policydocument + PolicyDocument interface{} `json:"PolicyDocument"` + + // 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 *BucketPolicy) AWSCloudFormationType() string { + return "AWS::S3Express::BucketPolicy" +} + +// 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 BucketPolicy) MarshalJSON() ([]byte, error) { + type Properties BucketPolicy + 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 *BucketPolicy) UnmarshalJSON(b []byte) error { + type Properties BucketPolicy + 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 = BucketPolicy(*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/s3express/aws-s3express-directorybucket.go b/cloudformation/s3express/aws-s3express-directorybucket.go new file mode 100644 index 0000000000..7111be48d7 --- /dev/null +++ b/cloudformation/s3express/aws-s3express-directorybucket.go @@ -0,0 +1,127 @@ +// Code generated by "go generate". Please don't change this file directly. + +package s3express + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// DirectoryBucket AWS CloudFormation Resource (AWS::S3Express::DirectoryBucket) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html +type DirectoryBucket struct { + + // BucketName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html#cfn-s3express-directorybucket-bucketname + BucketName *string `json:"BucketName,omitempty"` + + // DataRedundancy AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html#cfn-s3express-directorybucket-dataredundancy + DataRedundancy string `json:"DataRedundancy"` + + // LocationName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html#cfn-s3express-directorybucket-locationname + LocationName string `json:"LocationName"` + + // 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 *DirectoryBucket) AWSCloudFormationType() string { + return "AWS::S3Express::DirectoryBucket" +} + +// 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 DirectoryBucket) MarshalJSON() ([]byte, error) { + type Properties DirectoryBucket + 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 *DirectoryBucket) UnmarshalJSON(b []byte) error { + type Properties DirectoryBucket + 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 = DirectoryBucket(*res.Properties) + } + if res.DependsOn != nil { + switch obj := res.DependsOn.(type) { + case string: + r.AWSCloudFormationDependsOn = []string{obj} + case []interface{}: + s := make([]string, 0, len(obj)) + for _, v := range obj { + if value, ok := v.(string); ok { + s = append(s, value) + } + } + r.AWSCloudFormationDependsOn = s + } + } + if res.Metadata != nil { + r.AWSCloudFormationMetadata = res.Metadata + } + if res.DeletionPolicy != "" { + r.AWSCloudFormationDeletionPolicy = policies.DeletionPolicy(res.DeletionPolicy) + } + if res.UpdateReplacePolicy != "" { + r.AWSCloudFormationUpdateReplacePolicy = policies.UpdateReplacePolicy(res.UpdateReplacePolicy) + } + if res.Condition != "" { + r.AWSCloudFormationCondition = res.Condition + } + return nil +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go index 5d3b232bb1..d6a423ca5b 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig.go @@ -24,11 +24,21 @@ type EndpointConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-datacaptureconfig DataCaptureConfig *EndpointConfig_DataCaptureConfig `json:"DataCaptureConfig,omitempty"` + // EnableNetworkIsolation AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-enablenetworkisolation + EnableNetworkIsolation *bool `json:"EnableNetworkIsolation,omitempty"` + // EndpointConfigName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-endpointconfigname EndpointConfigName *string `json:"EndpointConfigName,omitempty"` + // ExecutionRoleArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-executionrolearn + ExecutionRoleArn *string `json:"ExecutionRoleArn,omitempty"` + // ExplainerConfig AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-explainerconfig @@ -54,6 +64,11 @@ type EndpointConfig struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-tags Tags []tags.Tag `json:"Tags,omitempty"` + // VpcConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-vpcconfig + VpcConfig *EndpointConfig_VpcConfig `json:"VpcConfig,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_managedinstancescaling.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_managedinstancescaling.go new file mode 100644 index 0000000000..3c9d194ad7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_managedinstancescaling.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// EndpointConfig_ManagedInstanceScaling AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.ManagedInstanceScaling) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant-managedinstancescaling.html +type EndpointConfig_ManagedInstanceScaling struct { + + // MaxInstanceCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant-managedinstancescaling.html#cfn-sagemaker-endpointconfig-productionvariant-managedinstancescaling-maxinstancecount + MaxInstanceCount *int `json:"MaxInstanceCount,omitempty"` + + // MinInstanceCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant-managedinstancescaling.html#cfn-sagemaker-endpointconfig-productionvariant-managedinstancescaling-mininstancecount + MinInstanceCount *int `json:"MinInstanceCount,omitempty"` + + // Status AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant-managedinstancescaling.html#cfn-sagemaker-endpointconfig-productionvariant-managedinstancescaling-status + Status *string `json:"Status,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 *EndpointConfig_ManagedInstanceScaling) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go index 3396de00c6..0083c8d76c 100644 --- a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_productionvariant.go @@ -31,24 +31,34 @@ type EndpointConfig_ProductionVariant struct { InitialInstanceCount *int `json:"InitialInstanceCount,omitempty"` // InitialVariantWeight AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-initialvariantweight - InitialVariantWeight float64 `json:"InitialVariantWeight"` + InitialVariantWeight *float64 `json:"InitialVariantWeight,omitempty"` // InstanceType AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-instancetype InstanceType *string `json:"InstanceType,omitempty"` + // ManagedInstanceScaling AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-managedinstancescaling + ManagedInstanceScaling *EndpointConfig_ManagedInstanceScaling `json:"ManagedInstanceScaling,omitempty"` + // ModelDataDownloadTimeoutInSeconds AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-modeldatadownloadtimeoutinseconds ModelDataDownloadTimeoutInSeconds *int `json:"ModelDataDownloadTimeoutInSeconds,omitempty"` // ModelName AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-modelname - ModelName string `json:"ModelName"` + ModelName *string `json:"ModelName,omitempty"` + + // RoutingConfig AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-routingconfig + RoutingConfig *EndpointConfig_RoutingConfig `json:"RoutingConfig,omitempty"` // ServerlessConfig AWS CloudFormation Property // Required: false diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_routingconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_routingconfig.go new file mode 100644 index 0000000000..2f14a7b15c --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_routingconfig.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" +) + +// EndpointConfig_RoutingConfig AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.RoutingConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant-routingconfig.html +type EndpointConfig_RoutingConfig struct { + + // RoutingStrategy AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant-routingconfig.html#cfn-sagemaker-endpointconfig-productionvariant-routingconfig-routingstrategy + RoutingStrategy *string `json:"RoutingStrategy,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 *EndpointConfig_RoutingConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.RoutingConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-endpointconfig_vpcconfig.go b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_vpcconfig.go new file mode 100644 index 0000000000..39119fa7ed --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-endpointconfig_vpcconfig.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" +) + +// EndpointConfig_VpcConfig AWS CloudFormation Resource (AWS::SageMaker::EndpointConfig.VpcConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-vpcconfig.html +type EndpointConfig_VpcConfig struct { + + // SecurityGroupIds AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-vpcconfig.html#cfn-sagemaker-endpointconfig-vpcconfig-securitygroupids + SecurityGroupIds []string `json:"SecurityGroupIds"` + + // Subnets AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-vpcconfig.html#cfn-sagemaker-endpointconfig-vpcconfig-subnets + Subnets []string `json:"Subnets"` + + // 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 *EndpointConfig_VpcConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::EndpointConfig.VpcConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-inferencecomponent.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent.go new file mode 100644 index 0000000000..2755d47e7e --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent.go @@ -0,0 +1,148 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "bytes" + "encoding/json" + + "github.com/awslabs/goformation/v7/cloudformation/policies" + "github.com/awslabs/goformation/v7/cloudformation/tags" +) + +// InferenceComponent AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html +type InferenceComponent struct { + + // EndpointArn AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-endpointarn + EndpointArn *string `json:"EndpointArn,omitempty"` + + // EndpointName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-endpointname + EndpointName string `json:"EndpointName"` + + // InferenceComponentName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-inferencecomponentname + InferenceComponentName *string `json:"InferenceComponentName,omitempty"` + + // RuntimeConfig AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-runtimeconfig + RuntimeConfig *InferenceComponent_InferenceComponentRuntimeConfig `json:"RuntimeConfig"` + + // Specification AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-specification + Specification *InferenceComponent_InferenceComponentSpecification `json:"Specification"` + + // Tags AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-tags + Tags []tags.Tag `json:"Tags,omitempty"` + + // VariantName AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html#cfn-sagemaker-inferencecomponent-variantname + VariantName string `json:"VariantName"` + + // 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 *InferenceComponent) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent" +} + +// 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 InferenceComponent) MarshalJSON() ([]byte, error) { + type Properties InferenceComponent + 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 *InferenceComponent) UnmarshalJSON(b []byte) error { + type Properties InferenceComponent + 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 = InferenceComponent(*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-inferencecomponent_deployedimage.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_deployedimage.go new file mode 100644 index 0000000000..cf7aeca47b --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_deployedimage.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// InferenceComponent_DeployedImage AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent.DeployedImage) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-deployedimage.html +type InferenceComponent_DeployedImage struct { + + // ResolutionTime AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-deployedimage.html#cfn-sagemaker-inferencecomponent-deployedimage-resolutiontime + ResolutionTime *string `json:"ResolutionTime,omitempty"` + + // ResolvedImage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-deployedimage.html#cfn-sagemaker-inferencecomponent-deployedimage-resolvedimage + ResolvedImage *string `json:"ResolvedImage,omitempty"` + + // SpecifiedImage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-deployedimage.html#cfn-sagemaker-inferencecomponent-deployedimage-specifiedimage + SpecifiedImage *string `json:"SpecifiedImage,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 *InferenceComponent_DeployedImage) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent.DeployedImage" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentcomputeresourcerequirements.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentcomputeresourcerequirements.go new file mode 100644 index 0000000000..4e4d8759d0 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentcomputeresourcerequirements.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" +) + +// InferenceComponent_InferenceComponentComputeResourceRequirements AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements.html +type InferenceComponent_InferenceComponentComputeResourceRequirements struct { + + // MaxMemoryRequiredInMb AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements.html#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-maxmemoryrequiredinmb + MaxMemoryRequiredInMb *int `json:"MaxMemoryRequiredInMb,omitempty"` + + // MinMemoryRequiredInMb AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements.html#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-minmemoryrequiredinmb + MinMemoryRequiredInMb *int `json:"MinMemoryRequiredInMb,omitempty"` + + // NumberOfAcceleratorDevicesRequired AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements.html#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofacceleratordevicesrequired + NumberOfAcceleratorDevicesRequired *float64 `json:"NumberOfAcceleratorDevicesRequired,omitempty"` + + // NumberOfCpuCoresRequired AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements.html#cfn-sagemaker-inferencecomponent-inferencecomponentcomputeresourcerequirements-numberofcpucoresrequired + NumberOfCpuCoresRequired *float64 `json:"NumberOfCpuCoresRequired,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 *InferenceComponent_InferenceComponentComputeResourceRequirements) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentcontainerspecification.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentcontainerspecification.go new file mode 100644 index 0000000000..47276edaf5 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentcontainerspecification.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" +) + +// InferenceComponent_InferenceComponentContainerSpecification AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification.html +type InferenceComponent_InferenceComponentContainerSpecification struct { + + // ArtifactUrl AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-artifacturl + ArtifactUrl *string `json:"ArtifactUrl,omitempty"` + + // DeployedImage AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-deployedimage + DeployedImage *InferenceComponent_DeployedImage `json:"DeployedImage,omitempty"` + + // Environment AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-environment + Environment map[string]string `json:"Environment,omitempty"` + + // Image AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentcontainerspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentcontainerspecification-image + Image *string `json:"Image,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 *InferenceComponent_InferenceComponentContainerSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentruntimeconfig.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentruntimeconfig.go new file mode 100644 index 0000000000..261f9089b7 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentruntimeconfig.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// InferenceComponent_InferenceComponentRuntimeConfig AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig.html +type InferenceComponent_InferenceComponentRuntimeConfig struct { + + // CopyCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig.html#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-copycount + CopyCount *int `json:"CopyCount,omitempty"` + + // CurrentCopyCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig.html#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-currentcopycount + CurrentCopyCount *int `json:"CurrentCopyCount,omitempty"` + + // DesiredCopyCount AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentruntimeconfig.html#cfn-sagemaker-inferencecomponent-inferencecomponentruntimeconfig-desiredcopycount + DesiredCopyCount *int `json:"DesiredCopyCount,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 *InferenceComponent_InferenceComponentRuntimeConfig) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentspecification.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentspecification.go new file mode 100644 index 0000000000..6f95c6f5e9 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentspecification.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" +) + +// InferenceComponent_InferenceComponentSpecification AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent.InferenceComponentSpecification) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification.html +type InferenceComponent_InferenceComponentSpecification struct { + + // ComputeResourceRequirements AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-computeresourcerequirements + ComputeResourceRequirements *InferenceComponent_InferenceComponentComputeResourceRequirements `json:"ComputeResourceRequirements"` + + // Container AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-container + Container *InferenceComponent_InferenceComponentContainerSpecification `json:"Container,omitempty"` + + // ModelName AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-modelname + ModelName *string `json:"ModelName,omitempty"` + + // StartupParameters AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentspecification.html#cfn-sagemaker-inferencecomponent-inferencecomponentspecification-startupparameters + StartupParameters *InferenceComponent_InferenceComponentStartupParameters `json:"StartupParameters,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 *InferenceComponent_InferenceComponentSpecification) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentstartupparameters.go b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentstartupparameters.go new file mode 100644 index 0000000000..7439c40728 --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-inferencecomponent_inferencecomponentstartupparameters.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" +) + +// InferenceComponent_InferenceComponentStartupParameters AWS CloudFormation Resource (AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters.html +type InferenceComponent_InferenceComponentStartupParameters struct { + + // ContainerStartupHealthCheckTimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters.html#cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-containerstartuphealthchecktimeoutinseconds + ContainerStartupHealthCheckTimeoutInSeconds *int `json:"ContainerStartupHealthCheckTimeoutInSeconds,omitempty"` + + // ModelDataDownloadTimeoutInSeconds AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferencecomponent-inferencecomponentstartupparameters.html#cfn-sagemaker-inferencecomponent-inferencecomponentstartupparameters-modeldatadownloadtimeoutinseconds + ModelDataDownloadTimeoutInSeconds *int `json:"ModelDataDownloadTimeoutInSeconds,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 *InferenceComponent_InferenceComponentStartupParameters) AWSCloudFormationType() string { + return "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-model.go b/cloudformation/sagemaker/aws-sagemaker-model.go index 7aabe62973..fe1f44add9 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model.go +++ b/cloudformation/sagemaker/aws-sagemaker-model.go @@ -25,9 +25,9 @@ type Model struct { EnableNetworkIsolation *bool `json:"EnableNetworkIsolation,omitempty"` // ExecutionRoleArn AWS CloudFormation Property - // Required: true + // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-executionrolearn - ExecutionRoleArn string `json:"ExecutionRoleArn"` + ExecutionRoleArn *string `json:"ExecutionRoleArn,omitempty"` // InferenceExecutionConfig AWS CloudFormation Property // Required: false diff --git a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go index 582dd70224..7196e64be2 100644 --- a/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go +++ b/cloudformation/sagemaker/aws-sagemaker-model_containerdefinition.go @@ -40,6 +40,11 @@ type Model_ContainerDefinition struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-mode Mode *string `json:"Mode,omitempty"` + // ModelDataSource AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modeldatasource + ModelDataSource *Model_ModelDataSource `json:"ModelDataSource,omitempty"` + // ModelDataUrl AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modeldataurl diff --git a/cloudformation/sagemaker/aws-sagemaker-model_modeldatasource.go b/cloudformation/sagemaker/aws-sagemaker-model_modeldatasource.go new file mode 100644 index 0000000000..7d285d4efb --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-model_modeldatasource.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" +) + +// Model_ModelDataSource AWS CloudFormation Resource (AWS::SageMaker::Model.ModelDataSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-modeldatasource.html +type Model_ModelDataSource struct { + + // S3DataSource AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-modeldatasource.html#cfn-sagemaker-model-containerdefinition-modeldatasource-s3datasource + S3DataSource *Model_S3DataSource `json:"S3DataSource"` + + // 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 *Model_ModelDataSource) AWSCloudFormationType() string { + return "AWS::SageMaker::Model.ModelDataSource" +} diff --git a/cloudformation/sagemaker/aws-sagemaker-model_s3datasource.go b/cloudformation/sagemaker/aws-sagemaker-model_s3datasource.go new file mode 100644 index 0000000000..2439e9600e --- /dev/null +++ b/cloudformation/sagemaker/aws-sagemaker-model_s3datasource.go @@ -0,0 +1,47 @@ +// Code generated by "go generate". Please don't change this file directly. + +package sagemaker + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Model_S3DataSource AWS CloudFormation Resource (AWS::SageMaker::Model.S3DataSource) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-modeldatasource-s3datasource.html +type Model_S3DataSource struct { + + // CompressionType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-modeldatasource-s3datasource.html#cfn-sagemaker-model-containerdefinition-modeldatasource-s3datasource-compressiontype + CompressionType string `json:"CompressionType"` + + // S3DataType AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-modeldatasource-s3datasource.html#cfn-sagemaker-model-containerdefinition-modeldatasource-s3datasource-s3datatype + S3DataType string `json:"S3DataType"` + + // S3Uri AWS CloudFormation Property + // Required: true + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition-modeldatasource-s3datasource.html#cfn-sagemaker-model-containerdefinition-modeldatasource-s3datasource-s3uri + S3Uri string `json:"S3Uri"` + + // 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 *Model_S3DataSource) AWSCloudFormationType() string { + return "AWS::SageMaker::Model.S3DataSource" +} diff --git a/cloudformation/transfer/aws-transfer-server.go b/cloudformation/transfer/aws-transfer-server.go index aeb052b688..60e5a81db6 100644 --- a/cloudformation/transfer/aws-transfer-server.go +++ b/cloudformation/transfer/aws-transfer-server.go @@ -69,6 +69,11 @@ type Server struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-protocols Protocols []Server_Protocol `json:"Protocols,omitempty"` + // S3StorageOptions AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-s3storageoptions + S3StorageOptions *Server_S3StorageOptions `json:"S3StorageOptions,omitempty"` + // SecurityPolicyName AWS CloudFormation Property // Required: false // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-securitypolicyname diff --git a/cloudformation/transfer/aws-transfer-server_s3storageoptions.go b/cloudformation/transfer/aws-transfer-server_s3storageoptions.go new file mode 100644 index 0000000000..3611bf9c18 --- /dev/null +++ b/cloudformation/transfer/aws-transfer-server_s3storageoptions.go @@ -0,0 +1,37 @@ +// Code generated by "go generate". Please don't change this file directly. + +package transfer + +import ( + "github.com/awslabs/goformation/v7/cloudformation/policies" +) + +// Server_S3StorageOptions AWS CloudFormation Resource (AWS::Transfer::Server.S3StorageOptions) +// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-s3storageoptions.html +type Server_S3StorageOptions struct { + + // DirectoryListingOptimization AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-s3storageoptions.html#cfn-transfer-server-s3storageoptions-directorylistingoptimization + DirectoryListingOptimization *string `json:"DirectoryListingOptimization,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 *Server_S3StorageOptions) AWSCloudFormationType() string { + return "AWS::Transfer::Server.S3StorageOptions" +} diff --git a/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go b/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go index adfff7484d..f12a83c487 100644 --- a/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go +++ b/cloudformation/transfer/aws-transfer-user_homedirectorymapentry.go @@ -20,6 +20,11 @@ type User_HomeDirectoryMapEntry struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html#cfn-transfer-user-homedirectorymapentry-target Target string `json:"Target"` + // Type AWS CloudFormation Property + // Required: false + // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html#cfn-transfer-user-homedirectorymapentry-type + Type *string `json:"Type,omitempty"` + // AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"` diff --git a/schema/cdk.go b/schema/cdk.go index 90f70db7fe..8968b39ef1 100644 --- a/schema/cdk.go +++ b/schema/cdk.go @@ -1059,6 +1059,122 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": { + "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": { + "PracticeRunConfiguration": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" + }, + "ResourceIdentifier": { + "type": "string" + }, + "ZonalAutoshiftStatus": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition": { + "additionalProperties": false, + "properties": { + "AlarmIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AlarmIdentifier", + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration": { + "additionalProperties": false, + "properties": { + "BlockedDates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockedWindows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockingAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + }, + "OutcomeAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + } + }, + "required": [ + "OutcomeAlarms" + ], + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer": { "additionalProperties": false, "properties": { @@ -1094,6 +1210,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AnalyzerConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" + }, "AnalyzerName": { "type": "string" }, @@ -1139,6 +1258,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" + } + }, + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { "additionalProperties": false, "properties": { @@ -1191,6 +1319,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -16224,6 +16361,12 @@ var CdkSchema = `{ "MetricName": { "type": "string" }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" + }, + "type": "array" + }, "Namespace": { "type": "string" }, @@ -16234,11 +16377,6 @@ var CdkSchema = `{ "type": "string" } }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], "type": "object" }, "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { @@ -16314,6 +16452,72 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" + }, + "ReturnData": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat": { + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" + }, + "Stat": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { @@ -17563,6 +17767,9 @@ var CdkSchema = `{ "InstanceId": { "type": "string" }, + "InstanceMaintenancePolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" + }, "LaunchConfigurationName": { "type": "string" }, @@ -17705,6 +17912,18 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy": { + "additionalProperties": false, + "properties": { + "MaxHealthyPercentage": { + "type": "number" + }, + "MinHealthyPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": { "additionalProperties": false, "properties": { @@ -19978,6 +20197,258 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Backup::RestoreTestingPlan": { + "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": { + "RecoveryPointSelection": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + }, + "StartWindowHours": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryPointSelection", + "RestoreTestingPlanName", + "ScheduleExpression" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ExcludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryPointTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionWindowDays": { + "type": "number" + } + }, + "required": [ + "Algorithm", + "IncludeVaults", + "RecoveryPointTypes" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection": { + "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": { + "IamRoleArn": { + "type": "string" + }, + "ProtectedResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProtectedResourceConditions": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" + }, + "ProtectedResourceType": { + "type": "string" + }, + "RestoreMetadataOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "RestoreTestingSelectionName": { + "type": "string" + }, + "ValidationWindowHours": { + "type": "number" + } + }, + "required": [ + "IamRoleArn", + "ProtectedResourceType", + "RestoreTestingPlanName", + "RestoreTestingSelectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions": { + "additionalProperties": false, + "properties": { + "StringEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + }, + "StringNotEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::BackupGateway::Hypervisor": { "additionalProperties": false, "properties": { @@ -28241,9 +28712,21 @@ var CdkSchema = `{ }, "type": "array" }, + "BillingMode": { + "type": "string" + }, "IngestionEnabled": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "type": "array" + }, + "InsightsDestination": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -28357,6 +28840,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -32300,6 +32792,173 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::CodeStarConnections::RepositoryLink": { + "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": { + "ConnectionArn": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::RepositoryLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarConnections::SyncConfiguration": { + "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": { + "Branch": { + "type": "string" + }, + "ConfigFile": { + "type": "string" + }, + "RepositoryLinkId": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::SyncConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -38963,6 +39622,12 @@ var CdkSchema = `{ "ControlIdentifier": { "type": "string" }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "type": "array" + }, "TargetIdentifier": { "type": "string" } @@ -38994,6 +39659,97 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { + "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": { + "Manifest": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Manifest", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ControlTower::LandingZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { @@ -40393,15 +41149,36 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, + "DefaultPolicy": { + "type": "string" + }, "Description": { "type": "string" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, "ExecutionRoleArn": { "type": "string" }, + "ExtendDeletion": { + "type": "boolean" + }, "PolicyDetails": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" }, + "RetainInterval": { + "type": "number" + }, "State": { "type": "string" }, @@ -40588,6 +41365,20 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "additionalProperties": false, + "properties": { + "TargetRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -40655,6 +41446,31 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.ExcludeTags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Exclusions": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolumes": { + "type": "boolean" + }, + "ExcludeTags": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags" + }, + "ExcludeVolumeTypes": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { "additionalProperties": false, "properties": { @@ -40703,12 +41519,30 @@ var CdkSchema = `{ }, "type": "array" }, + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, + "ExtendDeletion": { + "type": "boolean" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, + "PolicyLanguage": { + "type": "string" + }, "PolicyType": { "type": "string" }, @@ -40718,12 +41552,18 @@ var CdkSchema = `{ }, "type": "array" }, + "ResourceType": { + "type": "string" + }, "ResourceTypes": { "items": { "type": "string" }, "type": "array" }, + "RetainInterval": { + "type": "number" + }, "Schedules": { "items": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" @@ -40865,6 +41705,11 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -41748,6 +42593,9 @@ var CdkSchema = `{ "AddColumnName": { "type": "boolean" }, + "AddTrailingPaddingCharacter": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, @@ -41817,9 +42665,15 @@ var CdkSchema = `{ "EncryptionMode": { "type": "string" }, + "ExpectedBucketOwner": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "GlueCatalogGeneration": { + "type": "boolean" + }, "IgnoreHeaderRows": { "type": "number" }, @@ -46898,6 +47752,12 @@ var CdkSchema = `{ "AvailabilityZone": { "type": "string" }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -47028,6 +47888,92 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::DocDB::EventSubscription": { + "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": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { @@ -51560,6 +52506,27 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { @@ -51980,6 +52947,9 @@ var CdkSchema = `{ "DeviceIndex": { "type": "number" }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification" + }, "Groups": { "items": { "type": "string" @@ -56435,6 +57405,9 @@ var CdkSchema = `{ }, "Ipv6Support": { "type": "string" + }, + "SecurityGroupReferencingSupport": { + "type": "string" } }, "type": "object" @@ -59133,107 +60106,113 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" - }, - "RepositoryName": { + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "additionalProperties": false, + "properties": { + "AboutText": { + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RepositoryDescription": { + "type": "string" + }, + "UsageText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECR::PullThroughCacheRule": { + "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": { + "CredentialArn": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { - "additionalProperties": false, - "properties": { - "AboutText": { - "type": "string" - }, - "Architectures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RepositoryDescription": { - "type": "string" - }, - "UsageText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "EcrRepositoryPrefix": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EcrRepositoryPrefix": { + "UpstreamRegistry": { "type": "string" }, "UpstreamRegistryUrl": { @@ -61639,6 +62618,9 @@ var CdkSchema = `{ "FileSystemPolicy": { "type": "object" }, + "FileSystemProtection": { + "$ref": "#/definitions/AWS::EFS::FileSystem.FileSystemProtection" + }, "FileSystemTags": { "items": { "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" @@ -61717,9 +62699,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::EFS::FileSystem.FileSystemProtection": { + "additionalProperties": false, + "properties": { + "ReplicationOverwriteProtection": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::FileSystem.LifecyclePolicy": { "additionalProperties": false, "properties": { + "TransitionToArchive": { + "type": "string" + }, "TransitionToIA": { "type": "string" }, @@ -62627,6 +63621,89 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::EKS::PodIdentityAssociation": { + "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": { + "ClusterName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServiceAccount": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "Namespace", + "RoleArn", + "ServiceAccount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::PodIdentityAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65722,25 +66799,142 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache": { + "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": { + "CacheUsageLimits": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.CacheUsageLimits" + }, + "DailySnapshotTime": { "type": "string" }, - "EC2SecurityGroupName": { + "Description": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Engine": { + "type": "string" + }, + "FinalSnapshotName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerlessCacheName": { + "type": "string" + }, + "SnapshotArnsToRestore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserGroupId": { "type": "string" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "Engine", + "ServerlessCacheName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ElastiCache::ServerlessCache" ], "type": "string" }, @@ -65759,6 +66953,58 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::ElastiCache::ServerlessCache.CacheUsageLimits": { + "additionalProperties": false, + "properties": { + "DataStorage": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.DataStorage" + }, + "ECPUPerSecond": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.ECPUPerSecond" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.DataStorage": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Maximum", + "Unit" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.ECPUPerSecond": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + } + }, + "required": [ + "Maximum" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -66873,6 +68119,9 @@ var CdkSchema = `{ "LoadBalancerArn": { "type": "string" }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" + }, "Port": { "type": "number" }, @@ -67081,6 +68330,21 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication": { + "additionalProperties": false, + "properties": { + "IgnoreClientCertificateExpiry": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "TrustStoreArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { @@ -67796,70 +69060,255 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "IpAddressType": { - "type": "string" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStore": { + "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": { + "CaCertificatesBundleS3Bucket": { + "type": "string" + }, + "CaCertificatesBundleS3Key": { + "type": "string" + }, + "CaCertificatesBundleS3ObjectVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TrustStore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": { + "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": { + "RevocationContents": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "TrustStoreArn": { "type": "string" } }, @@ -67867,7 +69316,7 @@ var CdkSchema = `{ }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "type": "string" }, @@ -67885,43 +69334,37 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent": { "additionalProperties": false, "properties": { - "GrpcCode": { + "RevocationType": { "type": "string" }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { + "S3Bucket": { "type": "string" }, - "Id": { + "S3Key": { "type": "string" }, - "Port": { - "type": "number" + "S3ObjectVersion": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation": { "additionalProperties": false, "properties": { - "Key": { + "NumberOfRevokedEntries": { + "type": "number" + }, + "RevocationId": { "type": "string" }, - "Value": { + "RevocationType": { + "type": "string" + }, + "TrustStoreArn": { "type": "string" } }, @@ -72130,6 +73573,9 @@ var CdkSchema = `{ "FsxAdminPassword": { "type": "string" }, + "HAPairs": { + "type": "number" + }, "PreferredSubnetId": { "type": "string" }, @@ -72142,6 +73588,9 @@ var CdkSchema = `{ "ThroughputCapacity": { "type": "number" }, + "ThroughputCapacityPerHAPair": { + "type": "number" + }, "WeeklyMaintenanceStartTime": { "type": "string" } @@ -72606,6 +74055,21 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::FSx::Volume.AggregateConfiguration": { + "additionalProperties": false, + "properties": { + "Aggregates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConstituentsPerAggregate": { + "type": "number" + } + }, + "type": "object" + }, "AWS::FSx::Volume.AutocommitPeriod": { "additionalProperties": false, "properties": { @@ -72658,6 +74122,9 @@ var CdkSchema = `{ "AWS::FSx::Volume.OntapConfiguration": { "additionalProperties": false, "properties": { + "AggregateConfiguration": { + "$ref": "#/definitions/AWS::FSx::Volume.AggregateConfiguration" + }, "CopyTagsToBackups": { "type": "string" }, @@ -72670,6 +74137,9 @@ var CdkSchema = `{ "SecurityStyle": { "type": "string" }, + "SizeInBytes": { + "type": "string" + }, "SizeInMegabytes": { "type": "string" }, @@ -72687,10 +74157,12 @@ var CdkSchema = `{ }, "TieringPolicy": { "$ref": "#/definitions/AWS::FSx::Volume.TieringPolicy" + }, + "VolumeStyle": { + "type": "string" } }, "required": [ - "SizeInMegabytes", "StorageVirtualMachineId" ], "type": "object" @@ -74364,9 +75836,6 @@ var CdkSchema = `{ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, - "ApplyCapacity": { - "type": "string" - }, "BuildId": { "type": "string" }, @@ -74868,7 +76337,7 @@ var CdkSchema = `{ }, "Destinations": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" }, "type": "array" }, @@ -74926,15 +76395,6 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::GameLift::GameSessionQueue.FilterConfiguration": { "additionalProperties": false, "properties": { @@ -74947,6 +76407,15 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { @@ -75095,6 +76564,9 @@ var CdkSchema = `{ "BackfillMode": { "type": "string" }, + "CreationTime": { + "type": "string" + }, "CustomEventData": { "type": "string" }, @@ -75128,6 +76600,9 @@ var CdkSchema = `{ "RequestTimeoutSeconds": { "type": "number" }, + "RuleSetArn": { + "type": "string" + }, "RuleSetName": { "type": "string" }, @@ -78471,6 +79946,9 @@ var CdkSchema = `{ "PermissionType": { "type": "string" }, + "PluginAdminEnabled": { + "type": "boolean" + }, "RoleArn": { "type": "string" }, @@ -82304,16 +83782,15 @@ var CdkSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::GuardDuty::IPSet.TagItem" }, "type": "array" } }, "required": [ - "Activate", - "DetectorId", "Format", - "Location" + "Location", + "Name" ], "type": "object" }, @@ -82338,6 +83815,22 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::GuardDuty::IPSet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { @@ -82376,104 +83869,189 @@ var CdkSchema = `{ "DetectorId": { "type": "string" }, - "InvitationId": { + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { "type": "string" }, - "MasterId": { + "Location": { "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "Name": { "type": "string" }, - { + "Tags": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Format", + "Location", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -82492,89 +84070,19 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "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": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, @@ -86016,46 +87524,178 @@ var CdkSchema = `{ "Description": { "type": "string" }, - "InstanceMetadataOptions": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { + "InstanceMetadataOptions": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRole": { "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" - }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { + "PolicyDetails": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" }, "type": "array" }, - "SnsTopicArn": { + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" + }, + "ResourceType": { "type": "string" }, - "SubnetId": { + "Status": { "type": "string" }, "Tags": { @@ -86066,20 +87706,20 @@ var CdkSchema = `{ } }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", - "Name" + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -86098,37 +87738,178 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "AWS::ImageBuilder::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "HttpPutResponseHopLimit": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { + "additionalProperties": false, + "properties": { + "IsPublic": { + "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { + "additionalProperties": false, + "properties": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { "type": "number" }, - "HttpTokens": { + "Type": { "type": "string" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + "Amis": { + "type": "boolean" + }, + "Containers": { + "type": "boolean" + }, + "Snapshots": { + "type": "boolean" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { "additionalProperties": false, "properties": { - "S3BucketName": { + "Unit": { "type": "string" }, - "S3KeyPrefix": { + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SemanticVersion": { "type": "string" } }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, "type": "object" }, "AWS::Inspector::AssessmentTarget": { @@ -89079,6 +90860,9 @@ var CdkSchema = `{ }, "type": "array" }, + "MetricsExportConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricsExportConfig" + }, "SecurityProfileDescription": { "type": "string" }, @@ -89142,6 +90926,9 @@ var CdkSchema = `{ "Criteria": { "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89214,6 +91001,9 @@ var CdkSchema = `{ "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89262,6 +91052,22 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::IoT::SecurityProfile.MetricsExportConfig": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MqttTopic", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { @@ -95328,6 +97134,15 @@ var CdkSchema = `{ "ComponentTypeId": { "type": "string" }, + "CompositeComponentTypes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::ComponentType.CompositeComponentType" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95407,6 +97222,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::IoTTwinMaker::ComponentType.CompositeComponentType": { + "additionalProperties": false, + "properties": { + "ComponentTypeId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::ComponentType.DataConnector": { "additionalProperties": false, "properties": { @@ -95658,6 +97482,15 @@ var CdkSchema = `{ }, "type": "object" }, + "CompositeComponents": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.CompositeComponent" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95749,6 +97582,45 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::IoTTwinMaker::Entity.CompositeComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ComponentPath": { + "type": "string" + }, + "ComponentTypeId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Property" + } + }, + "type": "object" + }, + "PropertyGroups": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.PropertyGroup" + } + }, + "type": "object" + }, + "Status": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Status" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::Entity.DataType": { "additionalProperties": false, "properties": { @@ -104726,6 +106598,9 @@ var CdkSchema = `{ }, "type": "array" }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.LoggingConfig" + }, "MemorySize": { "type": "number" }, @@ -104887,6 +106762,24 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Lambda::Function.LoggingConfig": { + "additionalProperties": false, + "properties": { + "ApplicationLogLevel": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroup": { + "type": "string" + }, + "SystemLogLevel": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function.RuntimeManagementConfig": { "additionalProperties": false, "properties": { @@ -109144,49 +111037,348 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttachedInstances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HealthCheckPath": { - "type": "string" - }, - "InstancePort": { - "type": "number" - }, - "IpAddressType": { - "type": "string" + "AttachedInstances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HealthCheckPath": { + "type": "string" + }, + "InstancePort": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "LoadBalancerName": { + "type": "string" + }, + "SessionStickinessEnabled": { + "type": "boolean" + }, + "SessionStickinessLBCookieDurationSeconds": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TlsPolicyName": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::LoadBalancerTlsCertificate": { + "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": { + "CertificateAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateDomainName": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "HttpsRedirectionEnabled": { + "type": "boolean" + }, + "IsAttached": { + "type": "boolean" + }, + "LoadBalancerName": { + "type": "string" + } + }, + "required": [ + "CertificateDomainName", + "CertificateName", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancerTlsCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::StaticIp": { + "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": { + "AttachedTo": { + "type": "string" + }, + "StaticIpName": { + "type": "string" + } + }, + "required": [ + "StaticIpName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::StaticIp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "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": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CollectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "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": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" }, - "LoadBalancerName": { + "Description": { "type": "string" }, - "SessionStickinessEnabled": { - "type": "boolean" - }, - "SessionStickinessLBCookieDurationSeconds": { + "MapName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TlsPolicyName": { + "PricingPlan": { "type": "string" } }, "required": [ - "InstancePort", - "LoadBalancerName" + "Configuration", + "MapName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Location::Map" ], "type": "string" }, @@ -109205,7 +111397,19 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Lightsail::LoadBalancerTlsCertificate": { + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { "additionalProperties": false, "properties": { "Condition": { @@ -109240,38 +111444,31 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CertificateAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CertificateDomainName": { + "DataSource": { "type": "string" }, - "CertificateName": { - "type": "string" + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" }, - "HttpsRedirectionEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "IsAttached": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "LoadBalancerName": { + "PricingPlan": { "type": "string" } }, "required": [ - "CertificateDomainName", - "CertificateName", - "LoadBalancerName" + "DataSource", + "IndexName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Location::PlaceIndex" ], "type": "string" }, @@ -109290,7 +111487,16 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Lightsail::StaticIp": { + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { "additionalProperties": false, "properties": { "Condition": { @@ -109325,21 +111531,28 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttachedTo": { + "CalculatorName": { "type": "string" }, - "StaticIpName": { + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { "type": "string" } }, "required": [ - "StaticIpName" + "CalculatorName", + "DataSource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::Location::RouteCalculator" ], "type": "string" }, @@ -109358,7 +111571,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Location::GeofenceCollection": { + "AWS::Location::Tracker": { "additionalProperties": false, "properties": { "Condition": { @@ -109393,24 +111606,27 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CollectionName": { - "type": "string" - }, "Description": { "type": "string" }, "KmsKeyId": { "type": "string" + }, + "PositionFiltering": { + "type": "string" + }, + "TrackerName": { + "type": "string" } }, "required": [ - "CollectionName" + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::Location::Tracker" ], "type": "string" }, @@ -109429,7 +111645,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Location::Map": { + "AWS::Location::TrackerConsumer": { "additionalProperties": false, "properties": { "Condition": { @@ -109464,28 +111680,22 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { + "ConsumerArn": { "type": "string" }, - "PricingPlan": { + "TrackerName": { "type": "string" } }, "required": [ - "Configuration", - "MapName" + "ConsumerArn", + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Map" + "AWS::Location::TrackerConsumer" ], "type": "string" }, @@ -109504,19 +111714,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { + "AWS::Logs::AccountPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -109551,31 +111749,29 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSource": { + "PolicyDocument": { "type": "string" }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { + "PolicyName": { "type": "string" }, - "IndexName": { + "PolicyType": { "type": "string" }, - "PricingPlan": { + "Scope": { "type": "string" } }, "required": [ - "DataSource", - "IndexName" + "PolicyDocument", + "PolicyName", + "PolicyType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::PlaceIndex" + "AWS::Logs::AccountPolicy" ], "type": "string" }, @@ -109594,16 +111790,82 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "AWS::Logs::Delivery": { "additionalProperties": false, "properties": { - "IntendedUse": { + "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": { + "DeliveryDestinationArn": { + "type": "string" + }, + "DeliverySourceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeliveryDestinationArn", + "DeliverySourceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Delivery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Location::RouteCalculator": { + "AWS::Logs::DeliveryDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -109638,28 +111900,30 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CalculatorName": { - "type": "string" + "DeliveryDestinationPolicy": { + "type": "object" }, - "DataSource": { + "DestinationResourceArn": { "type": "string" }, - "Description": { + "Name": { "type": "string" }, - "PricingPlan": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CalculatorName", - "DataSource" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::RouteCalculator" + "AWS::Logs::DeliveryDestination" ], "type": "string" }, @@ -109678,7 +111942,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Location::Tracker": { + "AWS::Logs::DeliverySource": { "additionalProperties": false, "properties": { "Condition": { @@ -109713,27 +111977,30 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LogType": { "type": "string" }, - "KmsKeyId": { + "Name": { "type": "string" }, - "PositionFiltering": { + "ResourceArn": { "type": "string" }, - "TrackerName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TrackerName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Tracker" + "AWS::Logs::DeliverySource" ], "type": "string" }, @@ -109752,7 +112019,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Location::TrackerConsumer": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "Condition": { @@ -109787,22 +112054,29 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConsumerArn": { + "DestinationName": { "type": "string" }, - "TrackerName": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ConsumerArn", - "TrackerName" + "DestinationName", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Logs::Destination" ], "type": "string" }, @@ -109821,7 +112095,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Logs::AccountPolicy": { + "AWS::Logs::LogAnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -109856,105 +112130,36 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "AccountId": { "type": "string" }, - "PolicyName": { + "AnomalyVisibilityTime": { + "type": "number" + }, + "DetectorName": { "type": "string" }, - "PolicyType": { + "EvaluationFrequency": { "type": "string" }, - "Scope": { + "FilterPattern": { "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::AccountPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "KmsKeyId": { "type": "string" }, - { + "LogGroupArnList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } }, - "required": [ - "DestinationName", - "RoleArn", - "TargetArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::Logs::LogAnomalyDetector" ], "type": "string" }, @@ -109968,8 +112173,7 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -110014,6 +112218,9 @@ var CdkSchema = `{ "KmsKeyId": { "type": "string" }, + "LogGroupClass": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -112771,6 +114978,9 @@ var CdkSchema = `{ "DagS3Path": { "type": "string" }, + "EndpointManagement": { + "type": "string" + }, "EnvironmentClass": { "type": "string" }, @@ -113339,6 +115549,9 @@ var CdkSchema = `{ "AccessorType": { "type": "string" }, + "NetworkType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126808,6 +129021,9 @@ var CdkSchema = `{ "Name": { "type": "string" }, + "StandbyReplicas": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126844,6 +129060,82 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::OpenSearchServerless::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Policy", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpenSearchServerless::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::OpenSearchServerless::SecurityConfig": { "additionalProperties": false, "properties": { @@ -134084,6 +136376,9 @@ var CdkSchema = `{ "EnrichmentParameters": { "$ref": "#/definitions/AWS::Pipes::Pipe.PipeEnrichmentParameters" }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Pipes::Pipe.PipeLogConfiguration" + }, "Name": { "type": "string" }, @@ -134267,6 +136562,15 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::Pipes::Pipe.CloudwatchLogsLogDestination": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -134440,6 +136744,15 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.FirehoseLogDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.MQBrokerAccessCredentials": { "additionalProperties": false, "properties": { @@ -134515,6 +136828,30 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.PipeLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudwatchLogsLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.CloudwatchLogsLogDestination" + }, + "FirehoseLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.FirehoseLogDestination" + }, + "IncludeExecutionData": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Level": { + "type": "string" + }, + "S3LogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.S3LogDestination" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.PipeSourceActiveMQBrokerParameters": { "additionalProperties": false, "properties": { @@ -135062,6 +137399,24 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.S3LogDestination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { @@ -146217,9 +148572,6 @@ var CdkSchema = `{ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.Sheet" @@ -153738,6 +156090,9 @@ var CdkSchema = `{ }, "NewColumnType": { "type": "string" + }, + "SubType": { + "type": "string" } }, "required": [ @@ -154024,6 +156379,9 @@ var CdkSchema = `{ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -154199,6 +156557,9 @@ var CdkSchema = `{ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -163099,9 +165460,6 @@ var CdkSchema = `{ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Template.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Template.Sheet" @@ -170230,6 +172588,9 @@ var CdkSchema = `{ }, "type": "array" }, + "Scope": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -173272,35 +175633,351 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "OutpostArn": { + "InstanceCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverConfig": { + "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": { + "AutodefinedReverseFlag": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "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": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "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": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolverEndpointType": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "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": { + "DestinationArn": { "type": "string" }, - "PreferredInstanceType": { + "Name": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -173314,12 +175991,11 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173354,75 +176030,9 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "AutodefinedReverseFlag", - "ResourceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResolverQueryLogConfigId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "ResourceId": { "type": "string" } @@ -173431,7 +176041,7 @@ var CdkSchema = `{ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -173449,7 +176059,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -173484,50 +176094,40 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DomainName": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, "Name": { "type": "string" }, - "OutpostArn": { - "type": "string" - }, - "PreferredInstanceType": { + "ResolverEndpointId": { "type": "string" }, - "ResolverEndpointType": { + "RuleType": { "type": "string" }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { + "TargetIps": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" }, "type": "array" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -173546,7 +176146,7 @@ var CdkSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { "Ip": { @@ -173555,16 +176155,16 @@ var CdkSchema = `{ "Ipv6": { "type": "string" }, - "SubnetId": { + "Port": { + "type": "string" + }, + "Protocol": { "type": "string" } }, - "required": [ - "SubnetId" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173599,18 +176199,25 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Name": { "type": "string" }, - "Name": { + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { "type": "string" } }, + "required": [ + "ResolverRuleId", + "VPCId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -173624,11 +176231,12 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -173663,18 +176271,41 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { "type": "string" }, - "ResourceId": { + "ApplicationArn": { "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee" + }, + "Permission": { + "type": "string" + }, + "S3PrefixType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -173688,11 +176319,40 @@ var CdkSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "type": "string" + }, + "GranteeType": { + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -173727,16 +176387,7 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { + "IdentityCenterArn": { "type": "string" }, "Tags": { @@ -173744,23 +176395,13 @@ var CdkSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -173774,27 +176415,11 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Ipv6": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -173829,25 +176454,24 @@ var CdkSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "IamRoleArn": { "type": "string" }, - "ResolverRuleId": { + "LocationScope": { "type": "string" }, - "VPCId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "ResolverRuleId", - "VPCId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -173861,8 +176485,7 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -175725,6 +178348,342 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::S3::StorageLensGroup": { + "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": { + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Filter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLensGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLensGroup.And": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Filter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And" + }, + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectAge": { + "additionalProperties": false, + "properties": { + "DaysGreaterThan": { + "type": "number" + }, + "DaysLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectSize": { + "additionalProperties": false, + "properties": { + "BytesGreaterThan": { + "type": "number" + }, + "BytesLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::BucketPolicy": { + "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": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket": { + "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": { + "BucketName": { + "type": "string" + }, + "DataRedundancy": { + "type": "string" + }, + "LocationName": { + "type": "string" + } + }, + "required": [ + "DataRedundancy", + "LocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::DirectoryBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { @@ -182292,9 +185251,15 @@ var CdkSchema = `{ "DataCaptureConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, + "EnableNetworkIsolation": { + "type": "boolean" + }, "EndpointConfigName": { "type": "string" }, + "ExecutionRoleArn": { + "type": "string" + }, "ExplainerConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" }, @@ -182318,6 +185283,9 @@ var CdkSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ @@ -182608,6 +185576,21 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "type": "number" + }, + "MinInstanceCount": { + "type": "number" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -182629,12 +185612,18 @@ var CdkSchema = `{ "InstanceType": { "type": "string" }, + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, "ModelDataDownloadTimeoutInSeconds": { "type": "number" }, "ModelName": { "type": "string" }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, "ServerlessConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig" }, @@ -182646,12 +185635,19 @@ var CdkSchema = `{ } }, "required": [ - "InitialVariantWeight", - "ModelName", "VariantName" ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "additionalProperties": false, + "properties": { + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ServerlessConfig": { "additionalProperties": false, "properties": { @@ -182671,6 +185667,28 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { @@ -183042,6 +186060,200 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent": { + "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": { + "EndpointArn": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceComponentName": { + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "RuntimeConfig", + "Specification", + "VariantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.DeployedImage": { + "additionalProperties": false, + "properties": { + "ResolutionTime": { + "type": "string" + }, + "ResolvedImage": { + "type": "string" + }, + "SpecifiedImage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { + "additionalProperties": false, + "properties": { + "MaxMemoryRequiredInMb": { + "type": "number" + }, + "MinMemoryRequiredInMb": { + "type": "number" + }, + "NumberOfAcceleratorDevicesRequired": { + "type": "number" + }, + "NumberOfCpuCoresRequired": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { + "additionalProperties": false, + "properties": { + "CopyCount": { + "type": "number" + }, + "CurrentCopyCount": { + "type": "number" + }, + "DesiredCopyCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" + }, + "ModelName": { + "type": "string" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "ComputeResourceRequirements" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "additionalProperties": false, + "properties": { + "ContainerStartupHealthCheckTimeoutInSeconds": { + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -183372,9 +186584,6 @@ var CdkSchema = `{ "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { @@ -183393,8 +186602,7 @@ var CdkSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -183419,6 +186627,9 @@ var CdkSchema = `{ "Mode": { "type": "string" }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource" + }, "ModelDataUrl": { "type": "string" }, @@ -183458,6 +186669,18 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -183479,6 +186702,26 @@ var CdkSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "S3DataType": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -194104,6 +197347,9 @@ var CdkSchema = `{ }, "type": "array" }, + "S3StorageOptions": { + "$ref": "#/definitions/AWS::Transfer::Server.S3StorageOptions" + }, "SecurityPolicyName": { "type": "string" }, @@ -194227,6 +197473,15 @@ var CdkSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.S3StorageOptions": { + "additionalProperties": false, + "properties": { + "DirectoryListingOptimization": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.StructuredLogDestination": { "additionalProperties": false, "properties": {}, @@ -194377,6 +197632,9 @@ var CdkSchema = `{ }, "Target": { "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ @@ -202853,6 +206111,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::APS::Workspace" }, + { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + }, { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, @@ -203186,6 +206447,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Backup::ReportPlan" }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -203435,6 +206702,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::CodeStarConnections::Connection" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::RepositoryLink" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::SyncConfiguration" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -203588,6 +206861,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::ControlTower::LandingZone" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" }, @@ -203735,6 +207011,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::DocDB::EventSubscription" + }, { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, @@ -204080,6 +207359,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::EKS::Nodegroup" }, + { + "$ref": "#/definitions/AWS::EKS::PodIdentityAssociation" + }, { "$ref": "#/definitions/AWS::EMR::Cluster" }, @@ -204128,6 +207410,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" + }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -204167,6 +207452,12 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStore" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + }, { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, @@ -204557,6 +207848,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -204962,9 +208256,21 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Logs::AccountPolicy" }, + { + "$ref": "#/definitions/AWS::Logs::Delivery" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliveryDestination" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliverySource" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, + { + "$ref": "#/definitions/AWS::Logs::LogAnomalyDetector" + }, { "$ref": "#/definitions/AWS::Logs::LogGroup" }, @@ -205277,6 +208583,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::OpenSearchServerless::Collection" }, + { + "$ref": "#/definitions/AWS::OpenSearchServerless::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::OpenSearchServerless::SecurityConfig" }, @@ -205706,6 +209015,15 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" }, + { + "$ref": "#/definitions/AWS::S3::AccessGrant" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsInstance" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsLocation" + }, { "$ref": "#/definitions/AWS::S3::AccessPoint" }, @@ -205724,6 +209042,15 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::S3::StorageLens" }, + { + "$ref": "#/definitions/AWS::S3::StorageLensGroup" + }, + { + "$ref": "#/definitions/AWS::S3Express::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket" + }, { "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" }, @@ -205886,6 +209213,9 @@ var CdkSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::ImageVersion" }, + { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent" + }, { "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment" }, diff --git a/schema/cdk.schema.json b/schema/cdk.schema.json index 383d74e6bc..bbaf942a94 100644 --- a/schema/cdk.schema.json +++ b/schema/cdk.schema.json @@ -1054,6 +1054,122 @@ }, "type": "object" }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": { + "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": { + "PracticeRunConfiguration": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" + }, + "ResourceIdentifier": { + "type": "string" + }, + "ZonalAutoshiftStatus": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition": { + "additionalProperties": false, + "properties": { + "AlarmIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AlarmIdentifier", + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration": { + "additionalProperties": false, + "properties": { + "BlockedDates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockedWindows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockingAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + }, + "OutcomeAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + } + }, + "required": [ + "OutcomeAlarms" + ], + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer": { "additionalProperties": false, "properties": { @@ -1089,6 +1205,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AnalyzerConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" + }, "AnalyzerName": { "type": "string" }, @@ -1134,6 +1253,15 @@ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" + } + }, + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { "additionalProperties": false, "properties": { @@ -1186,6 +1314,15 @@ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -16219,6 +16356,12 @@ "MetricName": { "type": "string" }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" + }, + "type": "array" + }, "Namespace": { "type": "string" }, @@ -16229,11 +16372,6 @@ "type": "string" } }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], "type": "object" }, "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { @@ -16309,6 +16447,72 @@ }, "type": "object" }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" + }, + "ReturnData": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat": { + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" + }, + "Stat": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { @@ -17558,6 +17762,9 @@ "InstanceId": { "type": "string" }, + "InstanceMaintenancePolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" + }, "LaunchConfigurationName": { "type": "string" }, @@ -17700,6 +17907,18 @@ }, "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy": { + "additionalProperties": false, + "properties": { + "MaxHealthyPercentage": { + "type": "number" + }, + "MinHealthyPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": { "additionalProperties": false, "properties": { @@ -19973,6 +20192,258 @@ ], "type": "object" }, + "AWS::Backup::RestoreTestingPlan": { + "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": { + "RecoveryPointSelection": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + }, + "StartWindowHours": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryPointSelection", + "RestoreTestingPlanName", + "ScheduleExpression" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ExcludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryPointTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionWindowDays": { + "type": "number" + } + }, + "required": [ + "Algorithm", + "IncludeVaults", + "RecoveryPointTypes" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection": { + "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": { + "IamRoleArn": { + "type": "string" + }, + "ProtectedResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProtectedResourceConditions": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" + }, + "ProtectedResourceType": { + "type": "string" + }, + "RestoreMetadataOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "RestoreTestingSelectionName": { + "type": "string" + }, + "ValidationWindowHours": { + "type": "number" + } + }, + "required": [ + "IamRoleArn", + "ProtectedResourceType", + "RestoreTestingPlanName", + "RestoreTestingSelectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions": { + "additionalProperties": false, + "properties": { + "StringEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + }, + "StringNotEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::BackupGateway::Hypervisor": { "additionalProperties": false, "properties": { @@ -28236,9 +28707,21 @@ }, "type": "array" }, + "BillingMode": { + "type": "string" + }, "IngestionEnabled": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "type": "array" + }, + "InsightsDestination": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -28352,6 +28835,15 @@ ], "type": "object" }, + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -32295,6 +32787,173 @@ ], "type": "object" }, + "AWS::CodeStarConnections::RepositoryLink": { + "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": { + "ConnectionArn": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::RepositoryLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarConnections::SyncConfiguration": { + "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": { + "Branch": { + "type": "string" + }, + "ConfigFile": { + "type": "string" + }, + "RepositoryLinkId": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::SyncConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -38958,6 +39617,12 @@ "ControlIdentifier": { "type": "string" }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "type": "array" + }, "TargetIdentifier": { "type": "string" } @@ -38989,6 +39654,97 @@ ], "type": "object" }, + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { + "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": { + "Manifest": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Manifest", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ControlTower::LandingZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { @@ -40388,15 +41144,36 @@ "Properties": { "additionalProperties": false, "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, + "DefaultPolicy": { + "type": "string" + }, "Description": { "type": "string" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, "ExecutionRoleArn": { "type": "string" }, + "ExtendDeletion": { + "type": "boolean" + }, "PolicyDetails": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" }, + "RetainInterval": { + "type": "number" + }, "State": { "type": "string" }, @@ -40583,6 +41360,20 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "additionalProperties": false, + "properties": { + "TargetRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -40650,6 +41441,31 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.ExcludeTags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Exclusions": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolumes": { + "type": "boolean" + }, + "ExcludeTags": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags" + }, + "ExcludeVolumeTypes": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { "additionalProperties": false, "properties": { @@ -40698,12 +41514,30 @@ }, "type": "array" }, + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, + "ExtendDeletion": { + "type": "boolean" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, + "PolicyLanguage": { + "type": "string" + }, "PolicyType": { "type": "string" }, @@ -40713,12 +41547,18 @@ }, "type": "array" }, + "ResourceType": { + "type": "string" + }, "ResourceTypes": { "items": { "type": "string" }, "type": "array" }, + "RetainInterval": { + "type": "number" + }, "Schedules": { "items": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" @@ -40860,6 +41700,11 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -41743,6 +42588,9 @@ "AddColumnName": { "type": "boolean" }, + "AddTrailingPaddingCharacter": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, @@ -41812,9 +42660,15 @@ "EncryptionMode": { "type": "string" }, + "ExpectedBucketOwner": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "GlueCatalogGeneration": { + "type": "boolean" + }, "IgnoreHeaderRows": { "type": "number" }, @@ -46893,6 +47747,12 @@ "AvailabilityZone": { "type": "string" }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -47023,6 +47883,92 @@ ], "type": "object" }, + "AWS::DocDB::EventSubscription": { + "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": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { @@ -51555,6 +52501,27 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { @@ -51975,6 +52942,9 @@ "DeviceIndex": { "type": "number" }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification" + }, "Groups": { "items": { "type": "string" @@ -56430,6 +57400,9 @@ }, "Ipv6Support": { "type": "string" + }, + "SecurityGroupReferencingSupport": { + "type": "string" } }, "type": "object" @@ -59128,107 +60101,113 @@ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" - }, - "RepositoryName": { + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "additionalProperties": false, + "properties": { + "AboutText": { + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RepositoryDescription": { + "type": "string" + }, + "UsageText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECR::PullThroughCacheRule": { + "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": { + "CredentialArn": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { - "additionalProperties": false, - "properties": { - "AboutText": { - "type": "string" - }, - "Architectures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RepositoryDescription": { - "type": "string" - }, - "UsageText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "EcrRepositoryPrefix": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EcrRepositoryPrefix": { + "UpstreamRegistry": { "type": "string" }, "UpstreamRegistryUrl": { @@ -61634,6 +62613,9 @@ "FileSystemPolicy": { "type": "object" }, + "FileSystemProtection": { + "$ref": "#/definitions/AWS::EFS::FileSystem.FileSystemProtection" + }, "FileSystemTags": { "items": { "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" @@ -61712,9 +62694,21 @@ ], "type": "object" }, + "AWS::EFS::FileSystem.FileSystemProtection": { + "additionalProperties": false, + "properties": { + "ReplicationOverwriteProtection": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::FileSystem.LifecyclePolicy": { "additionalProperties": false, "properties": { + "TransitionToArchive": { + "type": "string" + }, "TransitionToIA": { "type": "string" }, @@ -62622,6 +63616,89 @@ }, "type": "object" }, + "AWS::EKS::PodIdentityAssociation": { + "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": { + "ClusterName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServiceAccount": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "Namespace", + "RoleArn", + "ServiceAccount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::PodIdentityAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65717,25 +66794,142 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache": { + "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": { + "CacheUsageLimits": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.CacheUsageLimits" + }, + "DailySnapshotTime": { "type": "string" }, - "EC2SecurityGroupName": { + "Description": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Engine": { + "type": "string" + }, + "FinalSnapshotName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerlessCacheName": { + "type": "string" + }, + "SnapshotArnsToRestore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserGroupId": { "type": "string" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "Engine", + "ServerlessCacheName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ElastiCache::ServerlessCache" ], "type": "string" }, @@ -65754,6 +66948,58 @@ ], "type": "object" }, + "AWS::ElastiCache::ServerlessCache.CacheUsageLimits": { + "additionalProperties": false, + "properties": { + "DataStorage": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.DataStorage" + }, + "ECPUPerSecond": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.ECPUPerSecond" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.DataStorage": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Maximum", + "Unit" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.ECPUPerSecond": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + } + }, + "required": [ + "Maximum" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -66868,6 +68114,9 @@ "LoadBalancerArn": { "type": "string" }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" + }, "Port": { "type": "number" }, @@ -67076,6 +68325,21 @@ }, "type": "object" }, + "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication": { + "additionalProperties": false, + "properties": { + "IgnoreClientCertificateExpiry": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "TrustStoreArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { @@ -67791,70 +69055,255 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "IpAddressType": { - "type": "string" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStore": { + "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": { + "CaCertificatesBundleS3Bucket": { + "type": "string" + }, + "CaCertificatesBundleS3Key": { + "type": "string" + }, + "CaCertificatesBundleS3ObjectVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TrustStore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": { + "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": { + "RevocationContents": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "TrustStoreArn": { "type": "string" } }, @@ -67862,7 +69311,7 @@ }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "type": "string" }, @@ -67880,43 +69329,37 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent": { "additionalProperties": false, "properties": { - "GrpcCode": { + "RevocationType": { "type": "string" }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { + "S3Bucket": { "type": "string" }, - "Id": { + "S3Key": { "type": "string" }, - "Port": { - "type": "number" + "S3ObjectVersion": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation": { "additionalProperties": false, "properties": { - "Key": { + "NumberOfRevokedEntries": { + "type": "number" + }, + "RevocationId": { "type": "string" }, - "Value": { + "RevocationType": { + "type": "string" + }, + "TrustStoreArn": { "type": "string" } }, @@ -72125,6 +73568,9 @@ "FsxAdminPassword": { "type": "string" }, + "HAPairs": { + "type": "number" + }, "PreferredSubnetId": { "type": "string" }, @@ -72137,6 +73583,9 @@ "ThroughputCapacity": { "type": "number" }, + "ThroughputCapacityPerHAPair": { + "type": "number" + }, "WeeklyMaintenanceStartTime": { "type": "string" } @@ -72601,6 +74050,21 @@ ], "type": "object" }, + "AWS::FSx::Volume.AggregateConfiguration": { + "additionalProperties": false, + "properties": { + "Aggregates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConstituentsPerAggregate": { + "type": "number" + } + }, + "type": "object" + }, "AWS::FSx::Volume.AutocommitPeriod": { "additionalProperties": false, "properties": { @@ -72653,6 +74117,9 @@ "AWS::FSx::Volume.OntapConfiguration": { "additionalProperties": false, "properties": { + "AggregateConfiguration": { + "$ref": "#/definitions/AWS::FSx::Volume.AggregateConfiguration" + }, "CopyTagsToBackups": { "type": "string" }, @@ -72665,6 +74132,9 @@ "SecurityStyle": { "type": "string" }, + "SizeInBytes": { + "type": "string" + }, "SizeInMegabytes": { "type": "string" }, @@ -72682,10 +74152,12 @@ }, "TieringPolicy": { "$ref": "#/definitions/AWS::FSx::Volume.TieringPolicy" + }, + "VolumeStyle": { + "type": "string" } }, "required": [ - "SizeInMegabytes", "StorageVirtualMachineId" ], "type": "object" @@ -74359,9 +75831,6 @@ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, - "ApplyCapacity": { - "type": "string" - }, "BuildId": { "type": "string" }, @@ -74863,7 +76332,7 @@ }, "Destinations": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" }, "type": "array" }, @@ -74921,15 +76390,6 @@ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::GameLift::GameSessionQueue.FilterConfiguration": { "additionalProperties": false, "properties": { @@ -74942,6 +76402,15 @@ }, "type": "object" }, + "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { @@ -75090,6 +76559,9 @@ "BackfillMode": { "type": "string" }, + "CreationTime": { + "type": "string" + }, "CustomEventData": { "type": "string" }, @@ -75123,6 +76595,9 @@ "RequestTimeoutSeconds": { "type": "number" }, + "RuleSetArn": { + "type": "string" + }, "RuleSetName": { "type": "string" }, @@ -78466,6 +79941,9 @@ "PermissionType": { "type": "string" }, + "PluginAdminEnabled": { + "type": "boolean" + }, "RoleArn": { "type": "string" }, @@ -82299,16 +83777,15 @@ }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::GuardDuty::IPSet.TagItem" }, "type": "array" } }, "required": [ - "Activate", - "DetectorId", "Format", - "Location" + "Location", + "Name" ], "type": "object" }, @@ -82333,6 +83810,22 @@ ], "type": "object" }, + "AWS::GuardDuty::IPSet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { @@ -82371,104 +83864,189 @@ "DetectorId": { "type": "string" }, - "InvitationId": { + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { "type": "string" }, - "MasterId": { + "Location": { "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "Name": { "type": "string" }, - { + "Tags": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Format", + "Location", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -82487,89 +84065,19 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "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": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, @@ -86011,46 +87519,178 @@ "Description": { "type": "string" }, - "InstanceMetadataOptions": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { + "InstanceMetadataOptions": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRole": { "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" - }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { + "PolicyDetails": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" }, "type": "array" }, - "SnsTopicArn": { + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" + }, + "ResourceType": { "type": "string" }, - "SubnetId": { + "Status": { "type": "string" }, "Tags": { @@ -86061,20 +87701,20 @@ } }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", - "Name" + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -86093,37 +87733,178 @@ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "AWS::ImageBuilder::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "HttpPutResponseHopLimit": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { + "additionalProperties": false, + "properties": { + "IsPublic": { + "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { + "additionalProperties": false, + "properties": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { "type": "number" }, - "HttpTokens": { + "Type": { "type": "string" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + "Amis": { + "type": "boolean" + }, + "Containers": { + "type": "boolean" + }, + "Snapshots": { + "type": "boolean" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { "additionalProperties": false, "properties": { - "S3BucketName": { + "Unit": { "type": "string" }, - "S3KeyPrefix": { + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SemanticVersion": { "type": "string" } }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, "type": "object" }, "AWS::Inspector::AssessmentTarget": { @@ -89074,6 +90855,9 @@ }, "type": "array" }, + "MetricsExportConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricsExportConfig" + }, "SecurityProfileDescription": { "type": "string" }, @@ -89137,6 +90921,9 @@ "Criteria": { "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89209,6 +90996,9 @@ "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89257,6 +91047,22 @@ }, "type": "object" }, + "AWS::IoT::SecurityProfile.MetricsExportConfig": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MqttTopic", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { @@ -95323,6 +97129,15 @@ "ComponentTypeId": { "type": "string" }, + "CompositeComponentTypes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::ComponentType.CompositeComponentType" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95402,6 +97217,15 @@ ], "type": "object" }, + "AWS::IoTTwinMaker::ComponentType.CompositeComponentType": { + "additionalProperties": false, + "properties": { + "ComponentTypeId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::ComponentType.DataConnector": { "additionalProperties": false, "properties": { @@ -95653,6 +97477,15 @@ }, "type": "object" }, + "CompositeComponents": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.CompositeComponent" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95744,6 +97577,45 @@ }, "type": "object" }, + "AWS::IoTTwinMaker::Entity.CompositeComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ComponentPath": { + "type": "string" + }, + "ComponentTypeId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Property" + } + }, + "type": "object" + }, + "PropertyGroups": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.PropertyGroup" + } + }, + "type": "object" + }, + "Status": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Status" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::Entity.DataType": { "additionalProperties": false, "properties": { @@ -104721,6 +106593,9 @@ }, "type": "array" }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.LoggingConfig" + }, "MemorySize": { "type": "number" }, @@ -104882,6 +106757,24 @@ }, "type": "object" }, + "AWS::Lambda::Function.LoggingConfig": { + "additionalProperties": false, + "properties": { + "ApplicationLogLevel": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroup": { + "type": "string" + }, + "SystemLogLevel": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function.RuntimeManagementConfig": { "additionalProperties": false, "properties": { @@ -109139,49 +111032,348 @@ "Properties": { "additionalProperties": false, "properties": { - "AttachedInstances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HealthCheckPath": { - "type": "string" - }, - "InstancePort": { - "type": "number" - }, - "IpAddressType": { - "type": "string" + "AttachedInstances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HealthCheckPath": { + "type": "string" + }, + "InstancePort": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "LoadBalancerName": { + "type": "string" + }, + "SessionStickinessEnabled": { + "type": "boolean" + }, + "SessionStickinessLBCookieDurationSeconds": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TlsPolicyName": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::LoadBalancerTlsCertificate": { + "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": { + "CertificateAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateDomainName": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "HttpsRedirectionEnabled": { + "type": "boolean" + }, + "IsAttached": { + "type": "boolean" + }, + "LoadBalancerName": { + "type": "string" + } + }, + "required": [ + "CertificateDomainName", + "CertificateName", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancerTlsCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::StaticIp": { + "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": { + "AttachedTo": { + "type": "string" + }, + "StaticIpName": { + "type": "string" + } + }, + "required": [ + "StaticIpName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::StaticIp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "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": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CollectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "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": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" }, - "LoadBalancerName": { + "Description": { "type": "string" }, - "SessionStickinessEnabled": { - "type": "boolean" - }, - "SessionStickinessLBCookieDurationSeconds": { + "MapName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TlsPolicyName": { + "PricingPlan": { "type": "string" } }, "required": [ - "InstancePort", - "LoadBalancerName" + "Configuration", + "MapName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Location::Map" ], "type": "string" }, @@ -109200,7 +111392,19 @@ ], "type": "object" }, - "AWS::Lightsail::LoadBalancerTlsCertificate": { + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { "additionalProperties": false, "properties": { "Condition": { @@ -109235,38 +111439,31 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CertificateDomainName": { + "DataSource": { "type": "string" }, - "CertificateName": { - "type": "string" + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" }, - "HttpsRedirectionEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "IsAttached": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "LoadBalancerName": { + "PricingPlan": { "type": "string" } }, "required": [ - "CertificateDomainName", - "CertificateName", - "LoadBalancerName" + "DataSource", + "IndexName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Location::PlaceIndex" ], "type": "string" }, @@ -109285,7 +111482,16 @@ ], "type": "object" }, - "AWS::Lightsail::StaticIp": { + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { "additionalProperties": false, "properties": { "Condition": { @@ -109320,21 +111526,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AttachedTo": { + "CalculatorName": { "type": "string" }, - "StaticIpName": { + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { "type": "string" } }, "required": [ - "StaticIpName" + "CalculatorName", + "DataSource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::Location::RouteCalculator" ], "type": "string" }, @@ -109353,7 +111566,7 @@ ], "type": "object" }, - "AWS::Location::GeofenceCollection": { + "AWS::Location::Tracker": { "additionalProperties": false, "properties": { "Condition": { @@ -109388,24 +111601,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CollectionName": { - "type": "string" - }, "Description": { "type": "string" }, "KmsKeyId": { "type": "string" + }, + "PositionFiltering": { + "type": "string" + }, + "TrackerName": { + "type": "string" } }, "required": [ - "CollectionName" + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::Location::Tracker" ], "type": "string" }, @@ -109424,7 +111640,7 @@ ], "type": "object" }, - "AWS::Location::Map": { + "AWS::Location::TrackerConsumer": { "additionalProperties": false, "properties": { "Condition": { @@ -109459,28 +111675,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { + "ConsumerArn": { "type": "string" }, - "PricingPlan": { + "TrackerName": { "type": "string" } }, "required": [ - "Configuration", - "MapName" + "ConsumerArn", + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Map" + "AWS::Location::TrackerConsumer" ], "type": "string" }, @@ -109499,19 +111709,7 @@ ], "type": "object" }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { + "AWS::Logs::AccountPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -109546,31 +111744,29 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSource": { + "PolicyDocument": { "type": "string" }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { + "PolicyName": { "type": "string" }, - "IndexName": { + "PolicyType": { "type": "string" }, - "PricingPlan": { + "Scope": { "type": "string" } }, "required": [ - "DataSource", - "IndexName" + "PolicyDocument", + "PolicyName", + "PolicyType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::PlaceIndex" + "AWS::Logs::AccountPolicy" ], "type": "string" }, @@ -109589,16 +111785,82 @@ ], "type": "object" }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "AWS::Logs::Delivery": { "additionalProperties": false, "properties": { - "IntendedUse": { + "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": { + "DeliveryDestinationArn": { + "type": "string" + }, + "DeliverySourceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeliveryDestinationArn", + "DeliverySourceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Delivery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Location::RouteCalculator": { + "AWS::Logs::DeliveryDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -109633,28 +111895,30 @@ "Properties": { "additionalProperties": false, "properties": { - "CalculatorName": { - "type": "string" + "DeliveryDestinationPolicy": { + "type": "object" }, - "DataSource": { + "DestinationResourceArn": { "type": "string" }, - "Description": { + "Name": { "type": "string" }, - "PricingPlan": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CalculatorName", - "DataSource" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::RouteCalculator" + "AWS::Logs::DeliveryDestination" ], "type": "string" }, @@ -109673,7 +111937,7 @@ ], "type": "object" }, - "AWS::Location::Tracker": { + "AWS::Logs::DeliverySource": { "additionalProperties": false, "properties": { "Condition": { @@ -109708,27 +111972,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LogType": { "type": "string" }, - "KmsKeyId": { + "Name": { "type": "string" }, - "PositionFiltering": { + "ResourceArn": { "type": "string" }, - "TrackerName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TrackerName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Tracker" + "AWS::Logs::DeliverySource" ], "type": "string" }, @@ -109747,7 +112014,7 @@ ], "type": "object" }, - "AWS::Location::TrackerConsumer": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "Condition": { @@ -109782,22 +112049,29 @@ "Properties": { "additionalProperties": false, "properties": { - "ConsumerArn": { + "DestinationName": { "type": "string" }, - "TrackerName": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ConsumerArn", - "TrackerName" + "DestinationName", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Logs::Destination" ], "type": "string" }, @@ -109816,7 +112090,7 @@ ], "type": "object" }, - "AWS::Logs::AccountPolicy": { + "AWS::Logs::LogAnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -109851,105 +112125,36 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "AccountId": { "type": "string" }, - "PolicyName": { + "AnomalyVisibilityTime": { + "type": "number" + }, + "DetectorName": { "type": "string" }, - "PolicyType": { + "EvaluationFrequency": { "type": "string" }, - "Scope": { + "FilterPattern": { "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::AccountPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "KmsKeyId": { "type": "string" }, - { + "LogGroupArnList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } }, - "required": [ - "DestinationName", - "RoleArn", - "TargetArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::Logs::LogAnomalyDetector" ], "type": "string" }, @@ -109963,8 +112168,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -110009,6 +112213,9 @@ "KmsKeyId": { "type": "string" }, + "LogGroupClass": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -112766,6 +114973,9 @@ "DagS3Path": { "type": "string" }, + "EndpointManagement": { + "type": "string" + }, "EnvironmentClass": { "type": "string" }, @@ -113334,6 +115544,9 @@ "AccessorType": { "type": "string" }, + "NetworkType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126803,6 +129016,9 @@ "Name": { "type": "string" }, + "StandbyReplicas": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126839,6 +129055,82 @@ ], "type": "object" }, + "AWS::OpenSearchServerless::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Policy", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpenSearchServerless::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::OpenSearchServerless::SecurityConfig": { "additionalProperties": false, "properties": { @@ -134079,6 +136371,9 @@ "EnrichmentParameters": { "$ref": "#/definitions/AWS::Pipes::Pipe.PipeEnrichmentParameters" }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Pipes::Pipe.PipeLogConfiguration" + }, "Name": { "type": "string" }, @@ -134262,6 +136557,15 @@ ], "type": "object" }, + "AWS::Pipes::Pipe.CloudwatchLogsLogDestination": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -134435,6 +136739,15 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.FirehoseLogDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.MQBrokerAccessCredentials": { "additionalProperties": false, "properties": { @@ -134510,6 +136823,30 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.PipeLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudwatchLogsLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.CloudwatchLogsLogDestination" + }, + "FirehoseLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.FirehoseLogDestination" + }, + "IncludeExecutionData": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Level": { + "type": "string" + }, + "S3LogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.S3LogDestination" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.PipeSourceActiveMQBrokerParameters": { "additionalProperties": false, "properties": { @@ -135057,6 +137394,24 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.S3LogDestination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { @@ -146212,9 +148567,6 @@ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.Sheet" @@ -153733,6 +156085,9 @@ }, "NewColumnType": { "type": "string" + }, + "SubType": { + "type": "string" } }, "required": [ @@ -154019,6 +156374,9 @@ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -154194,6 +156552,9 @@ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -163094,9 +165455,6 @@ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Template.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Template.Sheet" @@ -170225,6 +172583,9 @@ }, "type": "array" }, + "Scope": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -173267,35 +175628,351 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "OutpostArn": { + "InstanceCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverConfig": { + "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": { + "AutodefinedReverseFlag": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "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": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "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": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolverEndpointType": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "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": { + "DestinationArn": { "type": "string" }, - "PreferredInstanceType": { + "Name": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -173309,12 +175986,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173349,75 +176025,9 @@ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "AutodefinedReverseFlag", - "ResourceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResolverQueryLogConfigId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "ResourceId": { "type": "string" } @@ -173426,7 +176036,7 @@ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -173444,7 +176054,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -173479,50 +176089,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DomainName": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, "Name": { "type": "string" }, - "OutpostArn": { - "type": "string" - }, - "PreferredInstanceType": { + "ResolverEndpointId": { "type": "string" }, - "ResolverEndpointType": { + "RuleType": { "type": "string" }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { + "TargetIps": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" }, "type": "array" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -173541,7 +176141,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { "Ip": { @@ -173550,16 +176150,16 @@ "Ipv6": { "type": "string" }, - "SubnetId": { + "Port": { + "type": "string" + }, + "Protocol": { "type": "string" } }, - "required": [ - "SubnetId" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173594,18 +176194,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Name": { "type": "string" }, - "Name": { + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { "type": "string" } }, + "required": [ + "ResolverRuleId", + "VPCId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -173619,11 +176226,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -173658,18 +176266,41 @@ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { "type": "string" }, - "ResourceId": { + "ApplicationArn": { "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee" + }, + "Permission": { + "type": "string" + }, + "S3PrefixType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -173683,11 +176314,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "type": "string" + }, + "GranteeType": { + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -173722,16 +176382,7 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { + "IdentityCenterArn": { "type": "string" }, "Tags": { @@ -173739,23 +176390,13 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -173769,27 +176410,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Ipv6": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -173824,25 +176449,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "IamRoleArn": { "type": "string" }, - "ResolverRuleId": { + "LocationScope": { "type": "string" }, - "VPCId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "ResolverRuleId", - "VPCId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -173856,8 +176480,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -175720,6 +178343,342 @@ }, "type": "object" }, + "AWS::S3::StorageLensGroup": { + "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": { + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Filter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLensGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLensGroup.And": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Filter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And" + }, + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectAge": { + "additionalProperties": false, + "properties": { + "DaysGreaterThan": { + "type": "number" + }, + "DaysLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectSize": { + "additionalProperties": false, + "properties": { + "BytesGreaterThan": { + "type": "number" + }, + "BytesLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::BucketPolicy": { + "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": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket": { + "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": { + "BucketName": { + "type": "string" + }, + "DataRedundancy": { + "type": "string" + }, + "LocationName": { + "type": "string" + } + }, + "required": [ + "DataRedundancy", + "LocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::DirectoryBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { @@ -182287,9 +185246,15 @@ "DataCaptureConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, + "EnableNetworkIsolation": { + "type": "boolean" + }, "EndpointConfigName": { "type": "string" }, + "ExecutionRoleArn": { + "type": "string" + }, "ExplainerConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" }, @@ -182313,6 +185278,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ @@ -182603,6 +185571,21 @@ }, "type": "object" }, + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "type": "number" + }, + "MinInstanceCount": { + "type": "number" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -182624,12 +185607,18 @@ "InstanceType": { "type": "string" }, + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, "ModelDataDownloadTimeoutInSeconds": { "type": "number" }, "ModelName": { "type": "string" }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, "ServerlessConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig" }, @@ -182641,12 +185630,19 @@ } }, "required": [ - "InitialVariantWeight", - "ModelName", "VariantName" ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "additionalProperties": false, + "properties": { + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ServerlessConfig": { "additionalProperties": false, "properties": { @@ -182666,6 +185662,28 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { @@ -183037,6 +186055,200 @@ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent": { + "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": { + "EndpointArn": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceComponentName": { + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "RuntimeConfig", + "Specification", + "VariantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.DeployedImage": { + "additionalProperties": false, + "properties": { + "ResolutionTime": { + "type": "string" + }, + "ResolvedImage": { + "type": "string" + }, + "SpecifiedImage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { + "additionalProperties": false, + "properties": { + "MaxMemoryRequiredInMb": { + "type": "number" + }, + "MinMemoryRequiredInMb": { + "type": "number" + }, + "NumberOfAcceleratorDevicesRequired": { + "type": "number" + }, + "NumberOfCpuCoresRequired": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { + "additionalProperties": false, + "properties": { + "CopyCount": { + "type": "number" + }, + "CurrentCopyCount": { + "type": "number" + }, + "DesiredCopyCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" + }, + "ModelName": { + "type": "string" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "ComputeResourceRequirements" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "additionalProperties": false, + "properties": { + "ContainerStartupHealthCheckTimeoutInSeconds": { + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -183367,9 +186579,6 @@ "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { @@ -183388,8 +186597,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -183414,6 +186622,9 @@ "Mode": { "type": "string" }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource" + }, "ModelDataUrl": { "type": "string" }, @@ -183453,6 +186664,18 @@ ], "type": "object" }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -183474,6 +186697,26 @@ ], "type": "object" }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "S3DataType": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -194099,6 +197342,9 @@ }, "type": "array" }, + "S3StorageOptions": { + "$ref": "#/definitions/AWS::Transfer::Server.S3StorageOptions" + }, "SecurityPolicyName": { "type": "string" }, @@ -194222,6 +197468,15 @@ }, "type": "object" }, + "AWS::Transfer::Server.S3StorageOptions": { + "additionalProperties": false, + "properties": { + "DirectoryListingOptimization": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.StructuredLogDestination": { "additionalProperties": false, "properties": {}, @@ -194372,6 +197627,9 @@ }, "Target": { "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ @@ -202848,6 +206106,9 @@ { "$ref": "#/definitions/AWS::APS::Workspace" }, + { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + }, { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, @@ -203181,6 +206442,12 @@ { "$ref": "#/definitions/AWS::Backup::ReportPlan" }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -203430,6 +206697,12 @@ { "$ref": "#/definitions/AWS::CodeStarConnections::Connection" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::RepositoryLink" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::SyncConfiguration" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -203583,6 +206856,9 @@ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::ControlTower::LandingZone" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" }, @@ -203730,6 +207006,9 @@ { "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::DocDB::EventSubscription" + }, { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, @@ -204075,6 +207354,9 @@ { "$ref": "#/definitions/AWS::EKS::Nodegroup" }, + { + "$ref": "#/definitions/AWS::EKS::PodIdentityAssociation" + }, { "$ref": "#/definitions/AWS::EMR::Cluster" }, @@ -204123,6 +207405,9 @@ { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" + }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -204162,6 +207447,12 @@ { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStore" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + }, { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, @@ -204552,6 +207843,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -204957,9 +208251,21 @@ { "$ref": "#/definitions/AWS::Logs::AccountPolicy" }, + { + "$ref": "#/definitions/AWS::Logs::Delivery" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliveryDestination" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliverySource" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, + { + "$ref": "#/definitions/AWS::Logs::LogAnomalyDetector" + }, { "$ref": "#/definitions/AWS::Logs::LogGroup" }, @@ -205272,6 +208578,9 @@ { "$ref": "#/definitions/AWS::OpenSearchServerless::Collection" }, + { + "$ref": "#/definitions/AWS::OpenSearchServerless::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::OpenSearchServerless::SecurityConfig" }, @@ -205701,6 +209010,15 @@ { "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" }, + { + "$ref": "#/definitions/AWS::S3::AccessGrant" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsInstance" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsLocation" + }, { "$ref": "#/definitions/AWS::S3::AccessPoint" }, @@ -205719,6 +209037,15 @@ { "$ref": "#/definitions/AWS::S3::StorageLens" }, + { + "$ref": "#/definitions/AWS::S3::StorageLensGroup" + }, + { + "$ref": "#/definitions/AWS::S3Express::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket" + }, { "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" }, @@ -205881,6 +209208,9 @@ { "$ref": "#/definitions/AWS::SageMaker::ImageVersion" }, + { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent" + }, { "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment" }, diff --git a/schema/cloudformation.go b/schema/cloudformation.go index 5b803fbc7b..c1efe073f6 100644 --- a/schema/cloudformation.go +++ b/schema/cloudformation.go @@ -1059,6 +1059,122 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": { + "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": { + "PracticeRunConfiguration": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" + }, + "ResourceIdentifier": { + "type": "string" + }, + "ZonalAutoshiftStatus": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition": { + "additionalProperties": false, + "properties": { + "AlarmIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AlarmIdentifier", + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration": { + "additionalProperties": false, + "properties": { + "BlockedDates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockedWindows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockingAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + }, + "OutcomeAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + } + }, + "required": [ + "OutcomeAlarms" + ], + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer": { "additionalProperties": false, "properties": { @@ -1094,6 +1210,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AnalyzerConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" + }, "AnalyzerName": { "type": "string" }, @@ -1139,6 +1258,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" + } + }, + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { "additionalProperties": false, "properties": { @@ -1191,6 +1319,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -16224,6 +16361,12 @@ var CloudformationSchema = `{ "MetricName": { "type": "string" }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" + }, + "type": "array" + }, "Namespace": { "type": "string" }, @@ -16234,11 +16377,6 @@ var CloudformationSchema = `{ "type": "string" } }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], "type": "object" }, "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { @@ -16314,6 +16452,72 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" + }, + "ReturnData": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat": { + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" + }, + "Stat": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { @@ -17563,6 +17767,9 @@ var CloudformationSchema = `{ "InstanceId": { "type": "string" }, + "InstanceMaintenancePolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" + }, "LaunchConfigurationName": { "type": "string" }, @@ -17705,6 +17912,18 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy": { + "additionalProperties": false, + "properties": { + "MaxHealthyPercentage": { + "type": "number" + }, + "MinHealthyPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": { "additionalProperties": false, "properties": { @@ -19978,6 +20197,258 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Backup::RestoreTestingPlan": { + "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": { + "RecoveryPointSelection": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + }, + "StartWindowHours": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryPointSelection", + "RestoreTestingPlanName", + "ScheduleExpression" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ExcludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryPointTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionWindowDays": { + "type": "number" + } + }, + "required": [ + "Algorithm", + "IncludeVaults", + "RecoveryPointTypes" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection": { + "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": { + "IamRoleArn": { + "type": "string" + }, + "ProtectedResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProtectedResourceConditions": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" + }, + "ProtectedResourceType": { + "type": "string" + }, + "RestoreMetadataOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "RestoreTestingSelectionName": { + "type": "string" + }, + "ValidationWindowHours": { + "type": "number" + } + }, + "required": [ + "IamRoleArn", + "ProtectedResourceType", + "RestoreTestingPlanName", + "RestoreTestingSelectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions": { + "additionalProperties": false, + "properties": { + "StringEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + }, + "StringNotEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::BackupGateway::Hypervisor": { "additionalProperties": false, "properties": { @@ -28180,9 +28651,21 @@ var CloudformationSchema = `{ }, "type": "array" }, + "BillingMode": { + "type": "string" + }, "IngestionEnabled": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "type": "array" + }, + "InsightsDestination": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -28296,6 +28779,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -32239,6 +32731,173 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::CodeStarConnections::RepositoryLink": { + "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": { + "ConnectionArn": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::RepositoryLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarConnections::SyncConfiguration": { + "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": { + "Branch": { + "type": "string" + }, + "ConfigFile": { + "type": "string" + }, + "RepositoryLinkId": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::SyncConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -38902,6 +39561,12 @@ var CloudformationSchema = `{ "ControlIdentifier": { "type": "string" }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "type": "array" + }, "TargetIdentifier": { "type": "string" } @@ -38933,6 +39598,97 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { + "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": { + "Manifest": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Manifest", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ControlTower::LandingZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { @@ -40332,15 +41088,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, + "DefaultPolicy": { + "type": "string" + }, "Description": { "type": "string" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, "ExecutionRoleArn": { "type": "string" }, + "ExtendDeletion": { + "type": "boolean" + }, "PolicyDetails": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" }, + "RetainInterval": { + "type": "number" + }, "State": { "type": "string" }, @@ -40527,6 +41304,20 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "additionalProperties": false, + "properties": { + "TargetRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -40594,6 +41385,31 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.ExcludeTags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Exclusions": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolumes": { + "type": "boolean" + }, + "ExcludeTags": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags" + }, + "ExcludeVolumeTypes": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { "additionalProperties": false, "properties": { @@ -40642,12 +41458,30 @@ var CloudformationSchema = `{ }, "type": "array" }, + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, + "ExtendDeletion": { + "type": "boolean" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, + "PolicyLanguage": { + "type": "string" + }, "PolicyType": { "type": "string" }, @@ -40657,12 +41491,18 @@ var CloudformationSchema = `{ }, "type": "array" }, + "ResourceType": { + "type": "string" + }, "ResourceTypes": { "items": { "type": "string" }, "type": "array" }, + "RetainInterval": { + "type": "number" + }, "Schedules": { "items": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" @@ -40804,6 +41644,11 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -41687,6 +42532,9 @@ var CloudformationSchema = `{ "AddColumnName": { "type": "boolean" }, + "AddTrailingPaddingCharacter": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, @@ -41756,9 +42604,15 @@ var CloudformationSchema = `{ "EncryptionMode": { "type": "string" }, + "ExpectedBucketOwner": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "GlueCatalogGeneration": { + "type": "boolean" + }, "IgnoreHeaderRows": { "type": "number" }, @@ -46837,6 +47691,12 @@ var CloudformationSchema = `{ "AvailabilityZone": { "type": "string" }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -46967,6 +47827,92 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::DocDB::EventSubscription": { + "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": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { @@ -51499,6 +52445,27 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { @@ -51919,6 +52886,9 @@ var CloudformationSchema = `{ "DeviceIndex": { "type": "number" }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification" + }, "Groups": { "items": { "type": "string" @@ -56374,6 +57344,9 @@ var CloudformationSchema = `{ }, "Ipv6Support": { "type": "string" + }, + "SecurityGroupReferencingSupport": { + "type": "string" } }, "type": "object" @@ -59072,107 +60045,113 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" - }, - "RepositoryName": { + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "additionalProperties": false, + "properties": { + "AboutText": { + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RepositoryDescription": { + "type": "string" + }, + "UsageText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECR::PullThroughCacheRule": { + "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": { + "CredentialArn": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { - "additionalProperties": false, - "properties": { - "AboutText": { - "type": "string" - }, - "Architectures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RepositoryDescription": { - "type": "string" - }, - "UsageText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "EcrRepositoryPrefix": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EcrRepositoryPrefix": { + "UpstreamRegistry": { "type": "string" }, "UpstreamRegistryUrl": { @@ -61578,6 +62557,9 @@ var CloudformationSchema = `{ "FileSystemPolicy": { "type": "object" }, + "FileSystemProtection": { + "$ref": "#/definitions/AWS::EFS::FileSystem.FileSystemProtection" + }, "FileSystemTags": { "items": { "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" @@ -61656,9 +62638,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::EFS::FileSystem.FileSystemProtection": { + "additionalProperties": false, + "properties": { + "ReplicationOverwriteProtection": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::FileSystem.LifecyclePolicy": { "additionalProperties": false, "properties": { + "TransitionToArchive": { + "type": "string" + }, "TransitionToIA": { "type": "string" }, @@ -62566,6 +63560,89 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::EKS::PodIdentityAssociation": { + "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": { + "ClusterName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServiceAccount": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "Namespace", + "RoleArn", + "ServiceAccount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::PodIdentityAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65661,25 +66738,142 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache": { + "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": { + "CacheUsageLimits": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.CacheUsageLimits" + }, + "DailySnapshotTime": { "type": "string" }, - "EC2SecurityGroupName": { + "Description": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Engine": { + "type": "string" + }, + "FinalSnapshotName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerlessCacheName": { + "type": "string" + }, + "SnapshotArnsToRestore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserGroupId": { "type": "string" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "Engine", + "ServerlessCacheName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ElastiCache::ServerlessCache" ], "type": "string" }, @@ -65698,6 +66892,58 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::ElastiCache::ServerlessCache.CacheUsageLimits": { + "additionalProperties": false, + "properties": { + "DataStorage": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.DataStorage" + }, + "ECPUPerSecond": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.ECPUPerSecond" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.DataStorage": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Maximum", + "Unit" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.ECPUPerSecond": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + } + }, + "required": [ + "Maximum" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -66812,6 +68058,9 @@ var CloudformationSchema = `{ "LoadBalancerArn": { "type": "string" }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" + }, "Port": { "type": "number" }, @@ -67020,6 +68269,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication": { + "additionalProperties": false, + "properties": { + "IgnoreClientCertificateExpiry": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "TrustStoreArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { @@ -67735,70 +68999,255 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "IpAddressType": { - "type": "string" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStore": { + "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": { + "CaCertificatesBundleS3Bucket": { + "type": "string" + }, + "CaCertificatesBundleS3Key": { + "type": "string" + }, + "CaCertificatesBundleS3ObjectVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TrustStore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": { + "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": { + "RevocationContents": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "TrustStoreArn": { "type": "string" } }, @@ -67806,7 +69255,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "type": "string" }, @@ -67824,43 +69273,37 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent": { "additionalProperties": false, "properties": { - "GrpcCode": { + "RevocationType": { "type": "string" }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { + "S3Bucket": { "type": "string" }, - "Id": { + "S3Key": { "type": "string" }, - "Port": { - "type": "number" + "S3ObjectVersion": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation": { "additionalProperties": false, "properties": { - "Key": { + "NumberOfRevokedEntries": { + "type": "number" + }, + "RevocationId": { "type": "string" }, - "Value": { + "RevocationType": { + "type": "string" + }, + "TrustStoreArn": { "type": "string" } }, @@ -72069,6 +73512,9 @@ var CloudformationSchema = `{ "FsxAdminPassword": { "type": "string" }, + "HAPairs": { + "type": "number" + }, "PreferredSubnetId": { "type": "string" }, @@ -72081,6 +73527,9 @@ var CloudformationSchema = `{ "ThroughputCapacity": { "type": "number" }, + "ThroughputCapacityPerHAPair": { + "type": "number" + }, "WeeklyMaintenanceStartTime": { "type": "string" } @@ -72545,6 +73994,21 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::FSx::Volume.AggregateConfiguration": { + "additionalProperties": false, + "properties": { + "Aggregates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConstituentsPerAggregate": { + "type": "number" + } + }, + "type": "object" + }, "AWS::FSx::Volume.AutocommitPeriod": { "additionalProperties": false, "properties": { @@ -72597,6 +74061,9 @@ var CloudformationSchema = `{ "AWS::FSx::Volume.OntapConfiguration": { "additionalProperties": false, "properties": { + "AggregateConfiguration": { + "$ref": "#/definitions/AWS::FSx::Volume.AggregateConfiguration" + }, "CopyTagsToBackups": { "type": "string" }, @@ -72609,6 +74076,9 @@ var CloudformationSchema = `{ "SecurityStyle": { "type": "string" }, + "SizeInBytes": { + "type": "string" + }, "SizeInMegabytes": { "type": "string" }, @@ -72626,10 +74096,12 @@ var CloudformationSchema = `{ }, "TieringPolicy": { "$ref": "#/definitions/AWS::FSx::Volume.TieringPolicy" + }, + "VolumeStyle": { + "type": "string" } }, "required": [ - "SizeInMegabytes", "StorageVirtualMachineId" ], "type": "object" @@ -74303,9 +75775,6 @@ var CloudformationSchema = `{ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, - "ApplyCapacity": { - "type": "string" - }, "BuildId": { "type": "string" }, @@ -74807,7 +76276,7 @@ var CloudformationSchema = `{ }, "Destinations": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" }, "type": "array" }, @@ -74865,15 +76334,6 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::GameLift::GameSessionQueue.FilterConfiguration": { "additionalProperties": false, "properties": { @@ -74886,6 +76346,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { @@ -75034,6 +76503,9 @@ var CloudformationSchema = `{ "BackfillMode": { "type": "string" }, + "CreationTime": { + "type": "string" + }, "CustomEventData": { "type": "string" }, @@ -75067,6 +76539,9 @@ var CloudformationSchema = `{ "RequestTimeoutSeconds": { "type": "number" }, + "RuleSetArn": { + "type": "string" + }, "RuleSetName": { "type": "string" }, @@ -78410,6 +79885,9 @@ var CloudformationSchema = `{ "PermissionType": { "type": "string" }, + "PluginAdminEnabled": { + "type": "boolean" + }, "RoleArn": { "type": "string" }, @@ -82243,16 +83721,15 @@ var CloudformationSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::GuardDuty::IPSet.TagItem" }, "type": "array" } }, "required": [ - "Activate", - "DetectorId", "Format", - "Location" + "Location", + "Name" ], "type": "object" }, @@ -82277,6 +83754,22 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::GuardDuty::IPSet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { @@ -82315,104 +83808,189 @@ var CloudformationSchema = `{ "DetectorId": { "type": "string" }, - "InvitationId": { + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { "type": "string" }, - "MasterId": { + "Location": { "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "Name": { "type": "string" }, - { + "Tags": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Format", + "Location", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -82431,89 +84009,19 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "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": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, @@ -85955,46 +87463,178 @@ var CloudformationSchema = `{ "Description": { "type": "string" }, - "InstanceMetadataOptions": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { + "InstanceMetadataOptions": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRole": { "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" - }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { + "PolicyDetails": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" }, "type": "array" }, - "SnsTopicArn": { + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" + }, + "ResourceType": { "type": "string" }, - "SubnetId": { + "Status": { "type": "string" }, "Tags": { @@ -86005,20 +87645,20 @@ var CloudformationSchema = `{ } }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", - "Name" + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -86037,37 +87677,178 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "AWS::ImageBuilder::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "HttpPutResponseHopLimit": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { + "additionalProperties": false, + "properties": { + "IsPublic": { + "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { + "additionalProperties": false, + "properties": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { "type": "number" }, - "HttpTokens": { + "Type": { "type": "string" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + "Amis": { + "type": "boolean" + }, + "Containers": { + "type": "boolean" + }, + "Snapshots": { + "type": "boolean" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { "additionalProperties": false, "properties": { - "S3BucketName": { + "Unit": { "type": "string" }, - "S3KeyPrefix": { + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SemanticVersion": { "type": "string" } }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, "type": "object" }, "AWS::Inspector::AssessmentTarget": { @@ -89018,6 +90799,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "MetricsExportConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricsExportConfig" + }, "SecurityProfileDescription": { "type": "string" }, @@ -89081,6 +90865,9 @@ var CloudformationSchema = `{ "Criteria": { "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89153,6 +90940,9 @@ var CloudformationSchema = `{ "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89201,6 +90991,22 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoT::SecurityProfile.MetricsExportConfig": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MqttTopic", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { @@ -95267,6 +97073,15 @@ var CloudformationSchema = `{ "ComponentTypeId": { "type": "string" }, + "CompositeComponentTypes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::ComponentType.CompositeComponentType" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95346,6 +97161,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::IoTTwinMaker::ComponentType.CompositeComponentType": { + "additionalProperties": false, + "properties": { + "ComponentTypeId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::ComponentType.DataConnector": { "additionalProperties": false, "properties": { @@ -95597,6 +97421,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "CompositeComponents": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.CompositeComponent" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95688,6 +97521,45 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::IoTTwinMaker::Entity.CompositeComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ComponentPath": { + "type": "string" + }, + "ComponentTypeId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Property" + } + }, + "type": "object" + }, + "PropertyGroups": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.PropertyGroup" + } + }, + "type": "object" + }, + "Status": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Status" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::Entity.DataType": { "additionalProperties": false, "properties": { @@ -104665,6 +106537,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.LoggingConfig" + }, "MemorySize": { "type": "number" }, @@ -104826,6 +106701,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Lambda::Function.LoggingConfig": { + "additionalProperties": false, + "properties": { + "ApplicationLogLevel": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroup": { + "type": "string" + }, + "SystemLogLevel": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function.RuntimeManagementConfig": { "additionalProperties": false, "properties": { @@ -109083,49 +110976,348 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttachedInstances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HealthCheckPath": { - "type": "string" - }, - "InstancePort": { - "type": "number" - }, - "IpAddressType": { - "type": "string" + "AttachedInstances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HealthCheckPath": { + "type": "string" + }, + "InstancePort": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "LoadBalancerName": { + "type": "string" + }, + "SessionStickinessEnabled": { + "type": "boolean" + }, + "SessionStickinessLBCookieDurationSeconds": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TlsPolicyName": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::LoadBalancerTlsCertificate": { + "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": { + "CertificateAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateDomainName": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "HttpsRedirectionEnabled": { + "type": "boolean" + }, + "IsAttached": { + "type": "boolean" + }, + "LoadBalancerName": { + "type": "string" + } + }, + "required": [ + "CertificateDomainName", + "CertificateName", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancerTlsCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::StaticIp": { + "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": { + "AttachedTo": { + "type": "string" + }, + "StaticIpName": { + "type": "string" + } + }, + "required": [ + "StaticIpName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::StaticIp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "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": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CollectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "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": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" }, - "LoadBalancerName": { + "Description": { "type": "string" }, - "SessionStickinessEnabled": { - "type": "boolean" - }, - "SessionStickinessLBCookieDurationSeconds": { + "MapName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TlsPolicyName": { + "PricingPlan": { "type": "string" } }, "required": [ - "InstancePort", - "LoadBalancerName" + "Configuration", + "MapName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Location::Map" ], "type": "string" }, @@ -109144,7 +111336,19 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lightsail::LoadBalancerTlsCertificate": { + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { "additionalProperties": false, "properties": { "Condition": { @@ -109179,38 +111383,31 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CertificateAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CertificateDomainName": { + "DataSource": { "type": "string" }, - "CertificateName": { - "type": "string" + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" }, - "HttpsRedirectionEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "IsAttached": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "LoadBalancerName": { + "PricingPlan": { "type": "string" } }, "required": [ - "CertificateDomainName", - "CertificateName", - "LoadBalancerName" + "DataSource", + "IndexName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Location::PlaceIndex" ], "type": "string" }, @@ -109229,7 +111426,16 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Lightsail::StaticIp": { + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { "additionalProperties": false, "properties": { "Condition": { @@ -109264,21 +111470,28 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttachedTo": { + "CalculatorName": { "type": "string" }, - "StaticIpName": { + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { "type": "string" } }, "required": [ - "StaticIpName" + "CalculatorName", + "DataSource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::Location::RouteCalculator" ], "type": "string" }, @@ -109297,7 +111510,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Location::GeofenceCollection": { + "AWS::Location::Tracker": { "additionalProperties": false, "properties": { "Condition": { @@ -109332,24 +111545,27 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CollectionName": { - "type": "string" - }, "Description": { "type": "string" }, "KmsKeyId": { "type": "string" + }, + "PositionFiltering": { + "type": "string" + }, + "TrackerName": { + "type": "string" } }, "required": [ - "CollectionName" + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::Location::Tracker" ], "type": "string" }, @@ -109368,7 +111584,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Location::Map": { + "AWS::Location::TrackerConsumer": { "additionalProperties": false, "properties": { "Condition": { @@ -109403,28 +111619,22 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { + "ConsumerArn": { "type": "string" }, - "PricingPlan": { + "TrackerName": { "type": "string" } }, "required": [ - "Configuration", - "MapName" + "ConsumerArn", + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Map" + "AWS::Location::TrackerConsumer" ], "type": "string" }, @@ -109443,19 +111653,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { + "AWS::Logs::AccountPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -109490,31 +111688,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSource": { + "PolicyDocument": { "type": "string" }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { + "PolicyName": { "type": "string" }, - "IndexName": { + "PolicyType": { "type": "string" }, - "PricingPlan": { + "Scope": { "type": "string" } }, "required": [ - "DataSource", - "IndexName" + "PolicyDocument", + "PolicyName", + "PolicyType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::PlaceIndex" + "AWS::Logs::AccountPolicy" ], "type": "string" }, @@ -109533,16 +111729,82 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "AWS::Logs::Delivery": { "additionalProperties": false, "properties": { - "IntendedUse": { + "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": { + "DeliveryDestinationArn": { + "type": "string" + }, + "DeliverySourceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeliveryDestinationArn", + "DeliverySourceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Delivery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Location::RouteCalculator": { + "AWS::Logs::DeliveryDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -109577,28 +111839,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CalculatorName": { - "type": "string" + "DeliveryDestinationPolicy": { + "type": "object" }, - "DataSource": { + "DestinationResourceArn": { "type": "string" }, - "Description": { + "Name": { "type": "string" }, - "PricingPlan": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CalculatorName", - "DataSource" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::RouteCalculator" + "AWS::Logs::DeliveryDestination" ], "type": "string" }, @@ -109617,7 +111881,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Location::Tracker": { + "AWS::Logs::DeliverySource": { "additionalProperties": false, "properties": { "Condition": { @@ -109652,27 +111916,30 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LogType": { "type": "string" }, - "KmsKeyId": { + "Name": { "type": "string" }, - "PositionFiltering": { + "ResourceArn": { "type": "string" }, - "TrackerName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TrackerName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Tracker" + "AWS::Logs::DeliverySource" ], "type": "string" }, @@ -109691,7 +111958,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Location::TrackerConsumer": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "Condition": { @@ -109726,22 +111993,29 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConsumerArn": { + "DestinationName": { "type": "string" }, - "TrackerName": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ConsumerArn", - "TrackerName" + "DestinationName", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Logs::Destination" ], "type": "string" }, @@ -109760,7 +112034,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Logs::AccountPolicy": { + "AWS::Logs::LogAnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -109795,105 +112069,36 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "AccountId": { "type": "string" }, - "PolicyName": { + "AnomalyVisibilityTime": { + "type": "number" + }, + "DetectorName": { "type": "string" }, - "PolicyType": { + "EvaluationFrequency": { "type": "string" }, - "Scope": { + "FilterPattern": { "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::AccountPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "KmsKeyId": { "type": "string" }, - { + "LogGroupArnList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } }, - "required": [ - "DestinationName", - "RoleArn", - "TargetArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::Logs::LogAnomalyDetector" ], "type": "string" }, @@ -109907,8 +112112,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -109953,6 +112157,9 @@ var CloudformationSchema = `{ "KmsKeyId": { "type": "string" }, + "LogGroupClass": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -112710,6 +114917,9 @@ var CloudformationSchema = `{ "DagS3Path": { "type": "string" }, + "EndpointManagement": { + "type": "string" + }, "EnvironmentClass": { "type": "string" }, @@ -113278,6 +115488,9 @@ var CloudformationSchema = `{ "AccessorType": { "type": "string" }, + "NetworkType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126747,6 +128960,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "StandbyReplicas": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126783,6 +128999,82 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::OpenSearchServerless::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Policy", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpenSearchServerless::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::OpenSearchServerless::SecurityConfig": { "additionalProperties": false, "properties": { @@ -134023,6 +136315,9 @@ var CloudformationSchema = `{ "EnrichmentParameters": { "$ref": "#/definitions/AWS::Pipes::Pipe.PipeEnrichmentParameters" }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Pipes::Pipe.PipeLogConfiguration" + }, "Name": { "type": "string" }, @@ -134206,6 +136501,15 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::Pipes::Pipe.CloudwatchLogsLogDestination": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -134379,6 +136683,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.FirehoseLogDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.MQBrokerAccessCredentials": { "additionalProperties": false, "properties": { @@ -134454,6 +136767,30 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.PipeLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudwatchLogsLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.CloudwatchLogsLogDestination" + }, + "FirehoseLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.FirehoseLogDestination" + }, + "IncludeExecutionData": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Level": { + "type": "string" + }, + "S3LogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.S3LogDestination" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.PipeSourceActiveMQBrokerParameters": { "additionalProperties": false, "properties": { @@ -135001,6 +137338,24 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.S3LogDestination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { @@ -146156,9 +148511,6 @@ var CloudformationSchema = `{ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.Sheet" @@ -153677,6 +156029,9 @@ var CloudformationSchema = `{ }, "NewColumnType": { "type": "string" + }, + "SubType": { + "type": "string" } }, "required": [ @@ -153963,6 +156318,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -154138,6 +156496,9 @@ var CloudformationSchema = `{ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -163038,9 +165399,6 @@ var CloudformationSchema = `{ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Template.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Template.Sheet" @@ -170169,6 +172527,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "Scope": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -173211,35 +175572,351 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "OutpostArn": { + "InstanceCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverConfig": { + "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": { + "AutodefinedReverseFlag": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "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": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "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": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolverEndpointType": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "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": { + "DestinationArn": { "type": "string" }, - "PreferredInstanceType": { + "Name": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -173253,12 +175930,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173293,75 +175969,9 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "AutodefinedReverseFlag", - "ResourceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResolverQueryLogConfigId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "ResourceId": { "type": "string" } @@ -173370,7 +175980,7 @@ var CloudformationSchema = `{ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -173388,7 +175998,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -173423,50 +176033,40 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DomainName": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, "Name": { "type": "string" }, - "OutpostArn": { - "type": "string" - }, - "PreferredInstanceType": { + "ResolverEndpointId": { "type": "string" }, - "ResolverEndpointType": { + "RuleType": { "type": "string" }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { + "TargetIps": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" }, "type": "array" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -173485,7 +176085,7 @@ var CloudformationSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { "Ip": { @@ -173494,16 +176094,16 @@ var CloudformationSchema = `{ "Ipv6": { "type": "string" }, - "SubnetId": { + "Port": { + "type": "string" + }, + "Protocol": { "type": "string" } }, - "required": [ - "SubnetId" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173538,18 +176138,25 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Name": { "type": "string" }, - "Name": { + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { "type": "string" } }, + "required": [ + "ResolverRuleId", + "VPCId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -173563,11 +176170,12 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -173602,18 +176210,41 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { "type": "string" }, - "ResourceId": { + "ApplicationArn": { "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee" + }, + "Permission": { + "type": "string" + }, + "S3PrefixType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -173627,11 +176258,40 @@ var CloudformationSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "type": "string" + }, + "GranteeType": { + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -173666,16 +176326,7 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { + "IdentityCenterArn": { "type": "string" }, "Tags": { @@ -173683,23 +176334,13 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -173713,27 +176354,11 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Ipv6": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -173768,25 +176393,24 @@ var CloudformationSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "IamRoleArn": { "type": "string" }, - "ResolverRuleId": { + "LocationScope": { "type": "string" }, - "VPCId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "ResolverRuleId", - "VPCId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -173800,8 +176424,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -175664,6 +178287,342 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::S3::StorageLensGroup": { + "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": { + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Filter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLensGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLensGroup.And": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Filter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And" + }, + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectAge": { + "additionalProperties": false, + "properties": { + "DaysGreaterThan": { + "type": "number" + }, + "DaysLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectSize": { + "additionalProperties": false, + "properties": { + "BytesGreaterThan": { + "type": "number" + }, + "BytesLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::BucketPolicy": { + "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": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket": { + "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": { + "BucketName": { + "type": "string" + }, + "DataRedundancy": { + "type": "string" + }, + "LocationName": { + "type": "string" + } + }, + "required": [ + "DataRedundancy", + "LocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::DirectoryBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { @@ -182231,9 +185190,15 @@ var CloudformationSchema = `{ "DataCaptureConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, + "EnableNetworkIsolation": { + "type": "boolean" + }, "EndpointConfigName": { "type": "string" }, + "ExecutionRoleArn": { + "type": "string" + }, "ExplainerConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" }, @@ -182257,6 +185222,9 @@ var CloudformationSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ @@ -182547,6 +185515,21 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "type": "number" + }, + "MinInstanceCount": { + "type": "number" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -182568,12 +185551,18 @@ var CloudformationSchema = `{ "InstanceType": { "type": "string" }, + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, "ModelDataDownloadTimeoutInSeconds": { "type": "number" }, "ModelName": { "type": "string" }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, "ServerlessConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig" }, @@ -182585,12 +185574,19 @@ var CloudformationSchema = `{ } }, "required": [ - "InitialVariantWeight", - "ModelName", "VariantName" ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "additionalProperties": false, + "properties": { + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ServerlessConfig": { "additionalProperties": false, "properties": { @@ -182610,6 +185606,28 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { @@ -182981,6 +185999,200 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent": { + "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": { + "EndpointArn": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceComponentName": { + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "RuntimeConfig", + "Specification", + "VariantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.DeployedImage": { + "additionalProperties": false, + "properties": { + "ResolutionTime": { + "type": "string" + }, + "ResolvedImage": { + "type": "string" + }, + "SpecifiedImage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { + "additionalProperties": false, + "properties": { + "MaxMemoryRequiredInMb": { + "type": "number" + }, + "MinMemoryRequiredInMb": { + "type": "number" + }, + "NumberOfAcceleratorDevicesRequired": { + "type": "number" + }, + "NumberOfCpuCoresRequired": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { + "additionalProperties": false, + "properties": { + "CopyCount": { + "type": "number" + }, + "CurrentCopyCount": { + "type": "number" + }, + "DesiredCopyCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" + }, + "ModelName": { + "type": "string" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "ComputeResourceRequirements" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "additionalProperties": false, + "properties": { + "ContainerStartupHealthCheckTimeoutInSeconds": { + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -183311,9 +186523,6 @@ var CloudformationSchema = `{ "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { @@ -183332,8 +186541,7 @@ var CloudformationSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -183358,6 +186566,9 @@ var CloudformationSchema = `{ "Mode": { "type": "string" }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource" + }, "ModelDataUrl": { "type": "string" }, @@ -183397,6 +186608,18 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -183418,6 +186641,26 @@ var CloudformationSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "S3DataType": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -194043,6 +197286,9 @@ var CloudformationSchema = `{ }, "type": "array" }, + "S3StorageOptions": { + "$ref": "#/definitions/AWS::Transfer::Server.S3StorageOptions" + }, "SecurityPolicyName": { "type": "string" }, @@ -194166,6 +197412,15 @@ var CloudformationSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.S3StorageOptions": { + "additionalProperties": false, + "properties": { + "DirectoryListingOptimization": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.StructuredLogDestination": { "additionalProperties": false, "properties": {}, @@ -194316,6 +197571,9 @@ var CloudformationSchema = `{ }, "Target": { "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ @@ -202792,6 +206050,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::APS::Workspace" }, + { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + }, { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, @@ -203125,6 +206386,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Backup::ReportPlan" }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -203371,6 +206638,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::CodeStarConnections::Connection" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::RepositoryLink" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::SyncConfiguration" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -203524,6 +206797,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::ControlTower::LandingZone" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" }, @@ -203671,6 +206947,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::DocDB::EventSubscription" + }, { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, @@ -204016,6 +207295,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::EKS::Nodegroup" }, + { + "$ref": "#/definitions/AWS::EKS::PodIdentityAssociation" + }, { "$ref": "#/definitions/AWS::EMR::Cluster" }, @@ -204064,6 +207346,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" + }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -204103,6 +207388,12 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStore" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + }, { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, @@ -204493,6 +207784,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -204898,9 +208192,21 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Logs::AccountPolicy" }, + { + "$ref": "#/definitions/AWS::Logs::Delivery" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliveryDestination" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliverySource" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, + { + "$ref": "#/definitions/AWS::Logs::LogAnomalyDetector" + }, { "$ref": "#/definitions/AWS::Logs::LogGroup" }, @@ -205213,6 +208519,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::OpenSearchServerless::Collection" }, + { + "$ref": "#/definitions/AWS::OpenSearchServerless::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::OpenSearchServerless::SecurityConfig" }, @@ -205642,6 +208951,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" }, + { + "$ref": "#/definitions/AWS::S3::AccessGrant" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsInstance" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsLocation" + }, { "$ref": "#/definitions/AWS::S3::AccessPoint" }, @@ -205660,6 +208978,15 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::S3::StorageLens" }, + { + "$ref": "#/definitions/AWS::S3::StorageLensGroup" + }, + { + "$ref": "#/definitions/AWS::S3Express::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket" + }, { "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" }, @@ -205822,6 +209149,9 @@ var CloudformationSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::ImageVersion" }, + { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent" + }, { "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment" }, diff --git a/schema/cloudformation.schema.json b/schema/cloudformation.schema.json index 7f8fcd5291..4812caa0aa 100644 --- a/schema/cloudformation.schema.json +++ b/schema/cloudformation.schema.json @@ -1054,6 +1054,122 @@ }, "type": "object" }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": { + "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": { + "PracticeRunConfiguration": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" + }, + "ResourceIdentifier": { + "type": "string" + }, + "ZonalAutoshiftStatus": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition": { + "additionalProperties": false, + "properties": { + "AlarmIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AlarmIdentifier", + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration": { + "additionalProperties": false, + "properties": { + "BlockedDates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockedWindows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockingAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + }, + "OutcomeAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + } + }, + "required": [ + "OutcomeAlarms" + ], + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer": { "additionalProperties": false, "properties": { @@ -1089,6 +1205,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AnalyzerConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" + }, "AnalyzerName": { "type": "string" }, @@ -1134,6 +1253,15 @@ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" + } + }, + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { "additionalProperties": false, "properties": { @@ -1186,6 +1314,15 @@ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -16219,6 +16356,12 @@ "MetricName": { "type": "string" }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" + }, + "type": "array" + }, "Namespace": { "type": "string" }, @@ -16229,11 +16372,6 @@ "type": "string" } }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], "type": "object" }, "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { @@ -16309,6 +16447,72 @@ }, "type": "object" }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" + }, + "ReturnData": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat": { + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" + }, + "Stat": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { @@ -17558,6 +17762,9 @@ "InstanceId": { "type": "string" }, + "InstanceMaintenancePolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" + }, "LaunchConfigurationName": { "type": "string" }, @@ -17700,6 +17907,18 @@ }, "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy": { + "additionalProperties": false, + "properties": { + "MaxHealthyPercentage": { + "type": "number" + }, + "MinHealthyPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": { "additionalProperties": false, "properties": { @@ -19973,6 +20192,258 @@ ], "type": "object" }, + "AWS::Backup::RestoreTestingPlan": { + "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": { + "RecoveryPointSelection": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + }, + "StartWindowHours": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryPointSelection", + "RestoreTestingPlanName", + "ScheduleExpression" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ExcludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryPointTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionWindowDays": { + "type": "number" + } + }, + "required": [ + "Algorithm", + "IncludeVaults", + "RecoveryPointTypes" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection": { + "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": { + "IamRoleArn": { + "type": "string" + }, + "ProtectedResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProtectedResourceConditions": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" + }, + "ProtectedResourceType": { + "type": "string" + }, + "RestoreMetadataOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "RestoreTestingSelectionName": { + "type": "string" + }, + "ValidationWindowHours": { + "type": "number" + } + }, + "required": [ + "IamRoleArn", + "ProtectedResourceType", + "RestoreTestingPlanName", + "RestoreTestingSelectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions": { + "additionalProperties": false, + "properties": { + "StringEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + }, + "StringNotEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::BackupGateway::Hypervisor": { "additionalProperties": false, "properties": { @@ -28175,9 +28646,21 @@ }, "type": "array" }, + "BillingMode": { + "type": "string" + }, "IngestionEnabled": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "type": "array" + }, + "InsightsDestination": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -28291,6 +28774,15 @@ ], "type": "object" }, + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -32234,6 +32726,173 @@ ], "type": "object" }, + "AWS::CodeStarConnections::RepositoryLink": { + "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": { + "ConnectionArn": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::RepositoryLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarConnections::SyncConfiguration": { + "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": { + "Branch": { + "type": "string" + }, + "ConfigFile": { + "type": "string" + }, + "RepositoryLinkId": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::SyncConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -38897,6 +39556,12 @@ "ControlIdentifier": { "type": "string" }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "type": "array" + }, "TargetIdentifier": { "type": "string" } @@ -38928,6 +39593,97 @@ ], "type": "object" }, + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { + "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": { + "Manifest": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Manifest", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ControlTower::LandingZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { @@ -40327,15 +41083,36 @@ "Properties": { "additionalProperties": false, "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, + "DefaultPolicy": { + "type": "string" + }, "Description": { "type": "string" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, "ExecutionRoleArn": { "type": "string" }, + "ExtendDeletion": { + "type": "boolean" + }, "PolicyDetails": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" }, + "RetainInterval": { + "type": "number" + }, "State": { "type": "string" }, @@ -40522,6 +41299,20 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "additionalProperties": false, + "properties": { + "TargetRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -40589,6 +41380,31 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.ExcludeTags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Exclusions": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolumes": { + "type": "boolean" + }, + "ExcludeTags": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags" + }, + "ExcludeVolumeTypes": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { "additionalProperties": false, "properties": { @@ -40637,12 +41453,30 @@ }, "type": "array" }, + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, + "ExtendDeletion": { + "type": "boolean" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, + "PolicyLanguage": { + "type": "string" + }, "PolicyType": { "type": "string" }, @@ -40652,12 +41486,18 @@ }, "type": "array" }, + "ResourceType": { + "type": "string" + }, "ResourceTypes": { "items": { "type": "string" }, "type": "array" }, + "RetainInterval": { + "type": "number" + }, "Schedules": { "items": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" @@ -40799,6 +41639,11 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -41682,6 +42527,9 @@ "AddColumnName": { "type": "boolean" }, + "AddTrailingPaddingCharacter": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, @@ -41751,9 +42599,15 @@ "EncryptionMode": { "type": "string" }, + "ExpectedBucketOwner": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "GlueCatalogGeneration": { + "type": "boolean" + }, "IgnoreHeaderRows": { "type": "number" }, @@ -46832,6 +47686,12 @@ "AvailabilityZone": { "type": "string" }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -46962,6 +47822,92 @@ ], "type": "object" }, + "AWS::DocDB::EventSubscription": { + "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": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { @@ -51494,6 +52440,27 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { @@ -51914,6 +52881,9 @@ "DeviceIndex": { "type": "number" }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification" + }, "Groups": { "items": { "type": "string" @@ -56369,6 +57339,9 @@ }, "Ipv6Support": { "type": "string" + }, + "SecurityGroupReferencingSupport": { + "type": "string" } }, "type": "object" @@ -59067,107 +60040,113 @@ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" - }, - "RepositoryName": { + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "additionalProperties": false, + "properties": { + "AboutText": { + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RepositoryDescription": { + "type": "string" + }, + "UsageText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECR::PullThroughCacheRule": { + "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": { + "CredentialArn": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { - "additionalProperties": false, - "properties": { - "AboutText": { - "type": "string" - }, - "Architectures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RepositoryDescription": { - "type": "string" - }, - "UsageText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "EcrRepositoryPrefix": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EcrRepositoryPrefix": { + "UpstreamRegistry": { "type": "string" }, "UpstreamRegistryUrl": { @@ -61573,6 +62552,9 @@ "FileSystemPolicy": { "type": "object" }, + "FileSystemProtection": { + "$ref": "#/definitions/AWS::EFS::FileSystem.FileSystemProtection" + }, "FileSystemTags": { "items": { "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" @@ -61651,9 +62633,21 @@ ], "type": "object" }, + "AWS::EFS::FileSystem.FileSystemProtection": { + "additionalProperties": false, + "properties": { + "ReplicationOverwriteProtection": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::FileSystem.LifecyclePolicy": { "additionalProperties": false, "properties": { + "TransitionToArchive": { + "type": "string" + }, "TransitionToIA": { "type": "string" }, @@ -62561,6 +63555,89 @@ }, "type": "object" }, + "AWS::EKS::PodIdentityAssociation": { + "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": { + "ClusterName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServiceAccount": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "Namespace", + "RoleArn", + "ServiceAccount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::PodIdentityAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65656,25 +66733,142 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache": { + "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": { + "CacheUsageLimits": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.CacheUsageLimits" + }, + "DailySnapshotTime": { "type": "string" }, - "EC2SecurityGroupName": { + "Description": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Engine": { + "type": "string" + }, + "FinalSnapshotName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerlessCacheName": { + "type": "string" + }, + "SnapshotArnsToRestore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserGroupId": { "type": "string" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "Engine", + "ServerlessCacheName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ElastiCache::ServerlessCache" ], "type": "string" }, @@ -65693,6 +66887,58 @@ ], "type": "object" }, + "AWS::ElastiCache::ServerlessCache.CacheUsageLimits": { + "additionalProperties": false, + "properties": { + "DataStorage": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.DataStorage" + }, + "ECPUPerSecond": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.ECPUPerSecond" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.DataStorage": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Maximum", + "Unit" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.ECPUPerSecond": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + } + }, + "required": [ + "Maximum" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -66807,6 +68053,9 @@ "LoadBalancerArn": { "type": "string" }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" + }, "Port": { "type": "number" }, @@ -67015,6 +68264,21 @@ }, "type": "object" }, + "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication": { + "additionalProperties": false, + "properties": { + "IgnoreClientCertificateExpiry": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "TrustStoreArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { @@ -67730,70 +68994,255 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "IpAddressType": { - "type": "string" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStore": { + "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": { + "CaCertificatesBundleS3Bucket": { + "type": "string" + }, + "CaCertificatesBundleS3Key": { + "type": "string" + }, + "CaCertificatesBundleS3ObjectVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TrustStore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": { + "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": { + "RevocationContents": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "TrustStoreArn": { "type": "string" } }, @@ -67801,7 +69250,7 @@ }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "type": "string" }, @@ -67819,43 +69268,37 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent": { "additionalProperties": false, "properties": { - "GrpcCode": { + "RevocationType": { "type": "string" }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { + "S3Bucket": { "type": "string" }, - "Id": { + "S3Key": { "type": "string" }, - "Port": { - "type": "number" + "S3ObjectVersion": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation": { "additionalProperties": false, "properties": { - "Key": { + "NumberOfRevokedEntries": { + "type": "number" + }, + "RevocationId": { "type": "string" }, - "Value": { + "RevocationType": { + "type": "string" + }, + "TrustStoreArn": { "type": "string" } }, @@ -72064,6 +73507,9 @@ "FsxAdminPassword": { "type": "string" }, + "HAPairs": { + "type": "number" + }, "PreferredSubnetId": { "type": "string" }, @@ -72076,6 +73522,9 @@ "ThroughputCapacity": { "type": "number" }, + "ThroughputCapacityPerHAPair": { + "type": "number" + }, "WeeklyMaintenanceStartTime": { "type": "string" } @@ -72540,6 +73989,21 @@ ], "type": "object" }, + "AWS::FSx::Volume.AggregateConfiguration": { + "additionalProperties": false, + "properties": { + "Aggregates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConstituentsPerAggregate": { + "type": "number" + } + }, + "type": "object" + }, "AWS::FSx::Volume.AutocommitPeriod": { "additionalProperties": false, "properties": { @@ -72592,6 +74056,9 @@ "AWS::FSx::Volume.OntapConfiguration": { "additionalProperties": false, "properties": { + "AggregateConfiguration": { + "$ref": "#/definitions/AWS::FSx::Volume.AggregateConfiguration" + }, "CopyTagsToBackups": { "type": "string" }, @@ -72604,6 +74071,9 @@ "SecurityStyle": { "type": "string" }, + "SizeInBytes": { + "type": "string" + }, "SizeInMegabytes": { "type": "string" }, @@ -72621,10 +74091,12 @@ }, "TieringPolicy": { "$ref": "#/definitions/AWS::FSx::Volume.TieringPolicy" + }, + "VolumeStyle": { + "type": "string" } }, "required": [ - "SizeInMegabytes", "StorageVirtualMachineId" ], "type": "object" @@ -74298,9 +75770,6 @@ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, - "ApplyCapacity": { - "type": "string" - }, "BuildId": { "type": "string" }, @@ -74802,7 +76271,7 @@ }, "Destinations": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" }, "type": "array" }, @@ -74860,15 +76329,6 @@ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::GameLift::GameSessionQueue.FilterConfiguration": { "additionalProperties": false, "properties": { @@ -74881,6 +76341,15 @@ }, "type": "object" }, + "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { @@ -75029,6 +76498,9 @@ "BackfillMode": { "type": "string" }, + "CreationTime": { + "type": "string" + }, "CustomEventData": { "type": "string" }, @@ -75062,6 +76534,9 @@ "RequestTimeoutSeconds": { "type": "number" }, + "RuleSetArn": { + "type": "string" + }, "RuleSetName": { "type": "string" }, @@ -78405,6 +79880,9 @@ "PermissionType": { "type": "string" }, + "PluginAdminEnabled": { + "type": "boolean" + }, "RoleArn": { "type": "string" }, @@ -82238,16 +83716,15 @@ }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::GuardDuty::IPSet.TagItem" }, "type": "array" } }, "required": [ - "Activate", - "DetectorId", "Format", - "Location" + "Location", + "Name" ], "type": "object" }, @@ -82272,6 +83749,22 @@ ], "type": "object" }, + "AWS::GuardDuty::IPSet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { @@ -82310,104 +83803,189 @@ "DetectorId": { "type": "string" }, - "InvitationId": { + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { "type": "string" }, - "MasterId": { + "Location": { "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "Name": { "type": "string" }, - { + "Tags": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Format", + "Location", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -82426,89 +84004,19 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "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": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, @@ -85950,46 +87458,178 @@ "Description": { "type": "string" }, - "InstanceMetadataOptions": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { + "InstanceMetadataOptions": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRole": { "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" - }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { + "PolicyDetails": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" }, "type": "array" }, - "SnsTopicArn": { + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" + }, + "ResourceType": { "type": "string" }, - "SubnetId": { + "Status": { "type": "string" }, "Tags": { @@ -86000,20 +87640,20 @@ } }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", - "Name" + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -86032,37 +87672,178 @@ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "AWS::ImageBuilder::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "HttpPutResponseHopLimit": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { + "additionalProperties": false, + "properties": { + "IsPublic": { + "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { + "additionalProperties": false, + "properties": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { "type": "number" }, - "HttpTokens": { + "Type": { "type": "string" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + "Amis": { + "type": "boolean" + }, + "Containers": { + "type": "boolean" + }, + "Snapshots": { + "type": "boolean" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { "additionalProperties": false, "properties": { - "S3BucketName": { + "Unit": { "type": "string" }, - "S3KeyPrefix": { + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SemanticVersion": { "type": "string" } }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, "type": "object" }, "AWS::Inspector::AssessmentTarget": { @@ -89013,6 +90794,9 @@ }, "type": "array" }, + "MetricsExportConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricsExportConfig" + }, "SecurityProfileDescription": { "type": "string" }, @@ -89076,6 +90860,9 @@ "Criteria": { "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89148,6 +90935,9 @@ "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89196,6 +90986,22 @@ }, "type": "object" }, + "AWS::IoT::SecurityProfile.MetricsExportConfig": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MqttTopic", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { @@ -95262,6 +97068,15 @@ "ComponentTypeId": { "type": "string" }, + "CompositeComponentTypes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::ComponentType.CompositeComponentType" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95341,6 +97156,15 @@ ], "type": "object" }, + "AWS::IoTTwinMaker::ComponentType.CompositeComponentType": { + "additionalProperties": false, + "properties": { + "ComponentTypeId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::ComponentType.DataConnector": { "additionalProperties": false, "properties": { @@ -95592,6 +97416,15 @@ }, "type": "object" }, + "CompositeComponents": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.CompositeComponent" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95683,6 +97516,45 @@ }, "type": "object" }, + "AWS::IoTTwinMaker::Entity.CompositeComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ComponentPath": { + "type": "string" + }, + "ComponentTypeId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Property" + } + }, + "type": "object" + }, + "PropertyGroups": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.PropertyGroup" + } + }, + "type": "object" + }, + "Status": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Status" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::Entity.DataType": { "additionalProperties": false, "properties": { @@ -104660,6 +106532,9 @@ }, "type": "array" }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.LoggingConfig" + }, "MemorySize": { "type": "number" }, @@ -104821,6 +106696,24 @@ }, "type": "object" }, + "AWS::Lambda::Function.LoggingConfig": { + "additionalProperties": false, + "properties": { + "ApplicationLogLevel": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroup": { + "type": "string" + }, + "SystemLogLevel": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function.RuntimeManagementConfig": { "additionalProperties": false, "properties": { @@ -109078,49 +110971,348 @@ "Properties": { "additionalProperties": false, "properties": { - "AttachedInstances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HealthCheckPath": { - "type": "string" - }, - "InstancePort": { - "type": "number" - }, - "IpAddressType": { - "type": "string" + "AttachedInstances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HealthCheckPath": { + "type": "string" + }, + "InstancePort": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "LoadBalancerName": { + "type": "string" + }, + "SessionStickinessEnabled": { + "type": "boolean" + }, + "SessionStickinessLBCookieDurationSeconds": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TlsPolicyName": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::LoadBalancerTlsCertificate": { + "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": { + "CertificateAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateDomainName": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "HttpsRedirectionEnabled": { + "type": "boolean" + }, + "IsAttached": { + "type": "boolean" + }, + "LoadBalancerName": { + "type": "string" + } + }, + "required": [ + "CertificateDomainName", + "CertificateName", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancerTlsCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::StaticIp": { + "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": { + "AttachedTo": { + "type": "string" + }, + "StaticIpName": { + "type": "string" + } + }, + "required": [ + "StaticIpName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::StaticIp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "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": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CollectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "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": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" }, - "LoadBalancerName": { + "Description": { "type": "string" }, - "SessionStickinessEnabled": { - "type": "boolean" - }, - "SessionStickinessLBCookieDurationSeconds": { + "MapName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TlsPolicyName": { + "PricingPlan": { "type": "string" } }, "required": [ - "InstancePort", - "LoadBalancerName" + "Configuration", + "MapName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Location::Map" ], "type": "string" }, @@ -109139,7 +111331,19 @@ ], "type": "object" }, - "AWS::Lightsail::LoadBalancerTlsCertificate": { + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { "additionalProperties": false, "properties": { "Condition": { @@ -109174,38 +111378,31 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CertificateDomainName": { + "DataSource": { "type": "string" }, - "CertificateName": { - "type": "string" + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" }, - "HttpsRedirectionEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "IsAttached": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "LoadBalancerName": { + "PricingPlan": { "type": "string" } }, "required": [ - "CertificateDomainName", - "CertificateName", - "LoadBalancerName" + "DataSource", + "IndexName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Location::PlaceIndex" ], "type": "string" }, @@ -109224,7 +111421,16 @@ ], "type": "object" }, - "AWS::Lightsail::StaticIp": { + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { "additionalProperties": false, "properties": { "Condition": { @@ -109259,21 +111465,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AttachedTo": { + "CalculatorName": { "type": "string" }, - "StaticIpName": { + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { "type": "string" } }, "required": [ - "StaticIpName" + "CalculatorName", + "DataSource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::Location::RouteCalculator" ], "type": "string" }, @@ -109292,7 +111505,7 @@ ], "type": "object" }, - "AWS::Location::GeofenceCollection": { + "AWS::Location::Tracker": { "additionalProperties": false, "properties": { "Condition": { @@ -109327,24 +111540,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CollectionName": { - "type": "string" - }, "Description": { "type": "string" }, "KmsKeyId": { "type": "string" + }, + "PositionFiltering": { + "type": "string" + }, + "TrackerName": { + "type": "string" } }, "required": [ - "CollectionName" + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::Location::Tracker" ], "type": "string" }, @@ -109363,7 +111579,7 @@ ], "type": "object" }, - "AWS::Location::Map": { + "AWS::Location::TrackerConsumer": { "additionalProperties": false, "properties": { "Condition": { @@ -109398,28 +111614,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { + "ConsumerArn": { "type": "string" }, - "PricingPlan": { + "TrackerName": { "type": "string" } }, "required": [ - "Configuration", - "MapName" + "ConsumerArn", + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Map" + "AWS::Location::TrackerConsumer" ], "type": "string" }, @@ -109438,19 +111648,7 @@ ], "type": "object" }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { + "AWS::Logs::AccountPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -109485,31 +111683,29 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSource": { + "PolicyDocument": { "type": "string" }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { + "PolicyName": { "type": "string" }, - "IndexName": { + "PolicyType": { "type": "string" }, - "PricingPlan": { + "Scope": { "type": "string" } }, "required": [ - "DataSource", - "IndexName" + "PolicyDocument", + "PolicyName", + "PolicyType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::PlaceIndex" + "AWS::Logs::AccountPolicy" ], "type": "string" }, @@ -109528,16 +111724,82 @@ ], "type": "object" }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "AWS::Logs::Delivery": { "additionalProperties": false, "properties": { - "IntendedUse": { + "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": { + "DeliveryDestinationArn": { + "type": "string" + }, + "DeliverySourceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeliveryDestinationArn", + "DeliverySourceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Delivery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Location::RouteCalculator": { + "AWS::Logs::DeliveryDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -109572,28 +111834,30 @@ "Properties": { "additionalProperties": false, "properties": { - "CalculatorName": { - "type": "string" + "DeliveryDestinationPolicy": { + "type": "object" }, - "DataSource": { + "DestinationResourceArn": { "type": "string" }, - "Description": { + "Name": { "type": "string" }, - "PricingPlan": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CalculatorName", - "DataSource" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::RouteCalculator" + "AWS::Logs::DeliveryDestination" ], "type": "string" }, @@ -109612,7 +111876,7 @@ ], "type": "object" }, - "AWS::Location::Tracker": { + "AWS::Logs::DeliverySource": { "additionalProperties": false, "properties": { "Condition": { @@ -109647,27 +111911,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LogType": { "type": "string" }, - "KmsKeyId": { + "Name": { "type": "string" }, - "PositionFiltering": { + "ResourceArn": { "type": "string" }, - "TrackerName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TrackerName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Tracker" + "AWS::Logs::DeliverySource" ], "type": "string" }, @@ -109686,7 +111953,7 @@ ], "type": "object" }, - "AWS::Location::TrackerConsumer": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "Condition": { @@ -109721,22 +111988,29 @@ "Properties": { "additionalProperties": false, "properties": { - "ConsumerArn": { + "DestinationName": { "type": "string" }, - "TrackerName": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ConsumerArn", - "TrackerName" + "DestinationName", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Logs::Destination" ], "type": "string" }, @@ -109755,7 +112029,7 @@ ], "type": "object" }, - "AWS::Logs::AccountPolicy": { + "AWS::Logs::LogAnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -109790,105 +112064,36 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "AccountId": { "type": "string" }, - "PolicyName": { + "AnomalyVisibilityTime": { + "type": "number" + }, + "DetectorName": { "type": "string" }, - "PolicyType": { + "EvaluationFrequency": { "type": "string" }, - "Scope": { + "FilterPattern": { "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::AccountPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "KmsKeyId": { "type": "string" }, - { + "LogGroupArnList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } }, - "required": [ - "DestinationName", - "RoleArn", - "TargetArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::Logs::LogAnomalyDetector" ], "type": "string" }, @@ -109902,8 +112107,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -109948,6 +112152,9 @@ "KmsKeyId": { "type": "string" }, + "LogGroupClass": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -112705,6 +114912,9 @@ "DagS3Path": { "type": "string" }, + "EndpointManagement": { + "type": "string" + }, "EnvironmentClass": { "type": "string" }, @@ -113273,6 +115483,9 @@ "AccessorType": { "type": "string" }, + "NetworkType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126742,6 +128955,9 @@ "Name": { "type": "string" }, + "StandbyReplicas": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126778,6 +128994,82 @@ ], "type": "object" }, + "AWS::OpenSearchServerless::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Policy", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpenSearchServerless::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::OpenSearchServerless::SecurityConfig": { "additionalProperties": false, "properties": { @@ -134018,6 +136310,9 @@ "EnrichmentParameters": { "$ref": "#/definitions/AWS::Pipes::Pipe.PipeEnrichmentParameters" }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Pipes::Pipe.PipeLogConfiguration" + }, "Name": { "type": "string" }, @@ -134201,6 +136496,15 @@ ], "type": "object" }, + "AWS::Pipes::Pipe.CloudwatchLogsLogDestination": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -134374,6 +136678,15 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.FirehoseLogDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.MQBrokerAccessCredentials": { "additionalProperties": false, "properties": { @@ -134449,6 +136762,30 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.PipeLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudwatchLogsLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.CloudwatchLogsLogDestination" + }, + "FirehoseLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.FirehoseLogDestination" + }, + "IncludeExecutionData": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Level": { + "type": "string" + }, + "S3LogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.S3LogDestination" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.PipeSourceActiveMQBrokerParameters": { "additionalProperties": false, "properties": { @@ -134996,6 +137333,24 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.S3LogDestination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { @@ -146151,9 +148506,6 @@ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.Sheet" @@ -153672,6 +156024,9 @@ }, "NewColumnType": { "type": "string" + }, + "SubType": { + "type": "string" } }, "required": [ @@ -153958,6 +156313,9 @@ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -154133,6 +156491,9 @@ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -163033,9 +165394,6 @@ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Template.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Template.Sheet" @@ -170164,6 +172522,9 @@ }, "type": "array" }, + "Scope": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -173206,35 +175567,351 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "OutpostArn": { + "InstanceCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverConfig": { + "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": { + "AutodefinedReverseFlag": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "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": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "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": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolverEndpointType": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "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": { + "DestinationArn": { "type": "string" }, - "PreferredInstanceType": { + "Name": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -173248,12 +175925,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173288,75 +175964,9 @@ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "AutodefinedReverseFlag", - "ResourceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResolverQueryLogConfigId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "ResourceId": { "type": "string" } @@ -173365,7 +175975,7 @@ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -173383,7 +175993,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -173418,50 +176028,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DomainName": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, "Name": { "type": "string" }, - "OutpostArn": { - "type": "string" - }, - "PreferredInstanceType": { + "ResolverEndpointId": { "type": "string" }, - "ResolverEndpointType": { + "RuleType": { "type": "string" }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { + "TargetIps": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" }, "type": "array" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -173480,7 +176080,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { "Ip": { @@ -173489,16 +176089,16 @@ "Ipv6": { "type": "string" }, - "SubnetId": { + "Port": { + "type": "string" + }, + "Protocol": { "type": "string" } }, - "required": [ - "SubnetId" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173533,18 +176133,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Name": { "type": "string" }, - "Name": { + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { "type": "string" } }, + "required": [ + "ResolverRuleId", + "VPCId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -173558,11 +176165,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -173597,18 +176205,41 @@ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { "type": "string" }, - "ResourceId": { + "ApplicationArn": { "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee" + }, + "Permission": { + "type": "string" + }, + "S3PrefixType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -173622,11 +176253,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "type": "string" + }, + "GranteeType": { + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -173661,16 +176321,7 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { + "IdentityCenterArn": { "type": "string" }, "Tags": { @@ -173678,23 +176329,13 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -173708,27 +176349,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Ipv6": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -173763,25 +176388,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "IamRoleArn": { "type": "string" }, - "ResolverRuleId": { + "LocationScope": { "type": "string" }, - "VPCId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "ResolverRuleId", - "VPCId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -173795,8 +176419,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -175659,6 +178282,342 @@ }, "type": "object" }, + "AWS::S3::StorageLensGroup": { + "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": { + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Filter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLensGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLensGroup.And": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Filter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And" + }, + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectAge": { + "additionalProperties": false, + "properties": { + "DaysGreaterThan": { + "type": "number" + }, + "DaysLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectSize": { + "additionalProperties": false, + "properties": { + "BytesGreaterThan": { + "type": "number" + }, + "BytesLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::BucketPolicy": { + "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": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket": { + "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": { + "BucketName": { + "type": "string" + }, + "DataRedundancy": { + "type": "string" + }, + "LocationName": { + "type": "string" + } + }, + "required": [ + "DataRedundancy", + "LocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::DirectoryBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { @@ -182226,9 +185185,15 @@ "DataCaptureConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, + "EnableNetworkIsolation": { + "type": "boolean" + }, "EndpointConfigName": { "type": "string" }, + "ExecutionRoleArn": { + "type": "string" + }, "ExplainerConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" }, @@ -182252,6 +185217,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ @@ -182542,6 +185510,21 @@ }, "type": "object" }, + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "type": "number" + }, + "MinInstanceCount": { + "type": "number" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -182563,12 +185546,18 @@ "InstanceType": { "type": "string" }, + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, "ModelDataDownloadTimeoutInSeconds": { "type": "number" }, "ModelName": { "type": "string" }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, "ServerlessConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig" }, @@ -182580,12 +185569,19 @@ } }, "required": [ - "InitialVariantWeight", - "ModelName", "VariantName" ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "additionalProperties": false, + "properties": { + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ServerlessConfig": { "additionalProperties": false, "properties": { @@ -182605,6 +185601,28 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { @@ -182976,6 +185994,200 @@ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent": { + "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": { + "EndpointArn": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceComponentName": { + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "RuntimeConfig", + "Specification", + "VariantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.DeployedImage": { + "additionalProperties": false, + "properties": { + "ResolutionTime": { + "type": "string" + }, + "ResolvedImage": { + "type": "string" + }, + "SpecifiedImage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { + "additionalProperties": false, + "properties": { + "MaxMemoryRequiredInMb": { + "type": "number" + }, + "MinMemoryRequiredInMb": { + "type": "number" + }, + "NumberOfAcceleratorDevicesRequired": { + "type": "number" + }, + "NumberOfCpuCoresRequired": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { + "additionalProperties": false, + "properties": { + "CopyCount": { + "type": "number" + }, + "CurrentCopyCount": { + "type": "number" + }, + "DesiredCopyCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" + }, + "ModelName": { + "type": "string" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "ComputeResourceRequirements" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "additionalProperties": false, + "properties": { + "ContainerStartupHealthCheckTimeoutInSeconds": { + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -183306,9 +186518,6 @@ "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { @@ -183327,8 +186536,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -183353,6 +186561,9 @@ "Mode": { "type": "string" }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource" + }, "ModelDataUrl": { "type": "string" }, @@ -183392,6 +186603,18 @@ ], "type": "object" }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -183413,6 +186636,26 @@ ], "type": "object" }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "S3DataType": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -194038,6 +197281,9 @@ }, "type": "array" }, + "S3StorageOptions": { + "$ref": "#/definitions/AWS::Transfer::Server.S3StorageOptions" + }, "SecurityPolicyName": { "type": "string" }, @@ -194161,6 +197407,15 @@ }, "type": "object" }, + "AWS::Transfer::Server.S3StorageOptions": { + "additionalProperties": false, + "properties": { + "DirectoryListingOptimization": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.StructuredLogDestination": { "additionalProperties": false, "properties": {}, @@ -194311,6 +197566,9 @@ }, "Target": { "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ @@ -202787,6 +206045,9 @@ { "$ref": "#/definitions/AWS::APS::Workspace" }, + { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + }, { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, @@ -203120,6 +206381,12 @@ { "$ref": "#/definitions/AWS::Backup::ReportPlan" }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -203366,6 +206633,12 @@ { "$ref": "#/definitions/AWS::CodeStarConnections::Connection" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::RepositoryLink" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::SyncConfiguration" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -203519,6 +206792,9 @@ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::ControlTower::LandingZone" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" }, @@ -203666,6 +206942,9 @@ { "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::DocDB::EventSubscription" + }, { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, @@ -204011,6 +207290,9 @@ { "$ref": "#/definitions/AWS::EKS::Nodegroup" }, + { + "$ref": "#/definitions/AWS::EKS::PodIdentityAssociation" + }, { "$ref": "#/definitions/AWS::EMR::Cluster" }, @@ -204059,6 +207341,9 @@ { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" + }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -204098,6 +207383,12 @@ { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStore" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + }, { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, @@ -204488,6 +207779,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -204893,9 +208187,21 @@ { "$ref": "#/definitions/AWS::Logs::AccountPolicy" }, + { + "$ref": "#/definitions/AWS::Logs::Delivery" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliveryDestination" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliverySource" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, + { + "$ref": "#/definitions/AWS::Logs::LogAnomalyDetector" + }, { "$ref": "#/definitions/AWS::Logs::LogGroup" }, @@ -205208,6 +208514,9 @@ { "$ref": "#/definitions/AWS::OpenSearchServerless::Collection" }, + { + "$ref": "#/definitions/AWS::OpenSearchServerless::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::OpenSearchServerless::SecurityConfig" }, @@ -205637,6 +208946,15 @@ { "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" }, + { + "$ref": "#/definitions/AWS::S3::AccessGrant" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsInstance" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsLocation" + }, { "$ref": "#/definitions/AWS::S3::AccessPoint" }, @@ -205655,6 +208973,15 @@ { "$ref": "#/definitions/AWS::S3::StorageLens" }, + { + "$ref": "#/definitions/AWS::S3::StorageLensGroup" + }, + { + "$ref": "#/definitions/AWS::S3Express::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket" + }, { "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" }, @@ -205817,6 +209144,9 @@ { "$ref": "#/definitions/AWS::SageMaker::ImageVersion" }, + { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent" + }, { "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment" }, diff --git a/schema/sam.go b/schema/sam.go index 8b94eefb3a..2cd2613c22 100644 --- a/schema/sam.go +++ b/schema/sam.go @@ -1059,6 +1059,122 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": { + "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": { + "PracticeRunConfiguration": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" + }, + "ResourceIdentifier": { + "type": "string" + }, + "ZonalAutoshiftStatus": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition": { + "additionalProperties": false, + "properties": { + "AlarmIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AlarmIdentifier", + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration": { + "additionalProperties": false, + "properties": { + "BlockedDates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockedWindows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockingAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + }, + "OutcomeAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + } + }, + "required": [ + "OutcomeAlarms" + ], + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer": { "additionalProperties": false, "properties": { @@ -1094,6 +1210,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "AnalyzerConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" + }, "AnalyzerName": { "type": "string" }, @@ -1139,6 +1258,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" + } + }, + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { "additionalProperties": false, "properties": { @@ -1191,6 +1319,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -16224,6 +16361,12 @@ var SamSchema = `{ "MetricName": { "type": "string" }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" + }, + "type": "array" + }, "Namespace": { "type": "string" }, @@ -16234,11 +16377,6 @@ var SamSchema = `{ "type": "string" } }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], "type": "object" }, "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { @@ -16314,6 +16452,72 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" + }, + "ReturnData": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat": { + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" + }, + "Stat": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { @@ -17563,6 +17767,9 @@ var SamSchema = `{ "InstanceId": { "type": "string" }, + "InstanceMaintenancePolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" + }, "LaunchConfigurationName": { "type": "string" }, @@ -17705,6 +17912,18 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy": { + "additionalProperties": false, + "properties": { + "MaxHealthyPercentage": { + "type": "number" + }, + "MinHealthyPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": { "additionalProperties": false, "properties": { @@ -19978,6 +20197,258 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Backup::RestoreTestingPlan": { + "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": { + "RecoveryPointSelection": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + }, + "StartWindowHours": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryPointSelection", + "RestoreTestingPlanName", + "ScheduleExpression" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ExcludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryPointTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionWindowDays": { + "type": "number" + } + }, + "required": [ + "Algorithm", + "IncludeVaults", + "RecoveryPointTypes" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection": { + "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": { + "IamRoleArn": { + "type": "string" + }, + "ProtectedResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProtectedResourceConditions": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" + }, + "ProtectedResourceType": { + "type": "string" + }, + "RestoreMetadataOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "RestoreTestingSelectionName": { + "type": "string" + }, + "ValidationWindowHours": { + "type": "number" + } + }, + "required": [ + "IamRoleArn", + "ProtectedResourceType", + "RestoreTestingPlanName", + "RestoreTestingSelectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions": { + "additionalProperties": false, + "properties": { + "StringEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + }, + "StringNotEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::BackupGateway::Hypervisor": { "additionalProperties": false, "properties": { @@ -28180,9 +28651,21 @@ var SamSchema = `{ }, "type": "array" }, + "BillingMode": { + "type": "string" + }, "IngestionEnabled": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "type": "array" + }, + "InsightsDestination": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -28296,6 +28779,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -32239,6 +32731,173 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::CodeStarConnections::RepositoryLink": { + "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": { + "ConnectionArn": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::RepositoryLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarConnections::SyncConfiguration": { + "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": { + "Branch": { + "type": "string" + }, + "ConfigFile": { + "type": "string" + }, + "RepositoryLinkId": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::SyncConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -38902,6 +39561,12 @@ var SamSchema = `{ "ControlIdentifier": { "type": "string" }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "type": "array" + }, "TargetIdentifier": { "type": "string" } @@ -38933,6 +39598,97 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { + "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": { + "Manifest": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Manifest", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ControlTower::LandingZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { @@ -40332,15 +41088,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, + "DefaultPolicy": { + "type": "string" + }, "Description": { "type": "string" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, "ExecutionRoleArn": { "type": "string" }, + "ExtendDeletion": { + "type": "boolean" + }, "PolicyDetails": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" }, + "RetainInterval": { + "type": "number" + }, "State": { "type": "string" }, @@ -40527,6 +41304,20 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "additionalProperties": false, + "properties": { + "TargetRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -40594,6 +41385,31 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.ExcludeTags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Exclusions": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolumes": { + "type": "boolean" + }, + "ExcludeTags": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags" + }, + "ExcludeVolumeTypes": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { "additionalProperties": false, "properties": { @@ -40642,12 +41458,30 @@ var SamSchema = `{ }, "type": "array" }, + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, + "ExtendDeletion": { + "type": "boolean" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, + "PolicyLanguage": { + "type": "string" + }, "PolicyType": { "type": "string" }, @@ -40657,12 +41491,18 @@ var SamSchema = `{ }, "type": "array" }, + "ResourceType": { + "type": "string" + }, "ResourceTypes": { "items": { "type": "string" }, "type": "array" }, + "RetainInterval": { + "type": "number" + }, "Schedules": { "items": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" @@ -40804,6 +41644,11 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -41687,6 +42532,9 @@ var SamSchema = `{ "AddColumnName": { "type": "boolean" }, + "AddTrailingPaddingCharacter": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, @@ -41756,9 +42604,15 @@ var SamSchema = `{ "EncryptionMode": { "type": "string" }, + "ExpectedBucketOwner": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "GlueCatalogGeneration": { + "type": "boolean" + }, "IgnoreHeaderRows": { "type": "number" }, @@ -46837,6 +47691,12 @@ var SamSchema = `{ "AvailabilityZone": { "type": "string" }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -46967,6 +47827,92 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::DocDB::EventSubscription": { + "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": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { @@ -51499,6 +52445,27 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { @@ -51919,6 +52886,9 @@ var SamSchema = `{ "DeviceIndex": { "type": "number" }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification" + }, "Groups": { "items": { "type": "string" @@ -56374,6 +57344,9 @@ var SamSchema = `{ }, "Ipv6Support": { "type": "string" + }, + "SecurityGroupReferencingSupport": { + "type": "string" } }, "type": "object" @@ -59072,107 +60045,113 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" - }, - "RepositoryName": { + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "additionalProperties": false, + "properties": { + "AboutText": { + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RepositoryDescription": { + "type": "string" + }, + "UsageText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECR::PullThroughCacheRule": { + "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": { + "CredentialArn": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { - "additionalProperties": false, - "properties": { - "AboutText": { - "type": "string" - }, - "Architectures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RepositoryDescription": { - "type": "string" - }, - "UsageText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "EcrRepositoryPrefix": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EcrRepositoryPrefix": { + "UpstreamRegistry": { "type": "string" }, "UpstreamRegistryUrl": { @@ -61578,6 +62557,9 @@ var SamSchema = `{ "FileSystemPolicy": { "type": "object" }, + "FileSystemProtection": { + "$ref": "#/definitions/AWS::EFS::FileSystem.FileSystemProtection" + }, "FileSystemTags": { "items": { "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" @@ -61656,9 +62638,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::EFS::FileSystem.FileSystemProtection": { + "additionalProperties": false, + "properties": { + "ReplicationOverwriteProtection": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::FileSystem.LifecyclePolicy": { "additionalProperties": false, "properties": { + "TransitionToArchive": { + "type": "string" + }, "TransitionToIA": { "type": "string" }, @@ -62566,6 +63560,89 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::EKS::PodIdentityAssociation": { + "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": { + "ClusterName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServiceAccount": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "Namespace", + "RoleArn", + "ServiceAccount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::PodIdentityAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65661,25 +66738,142 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache": { + "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": { + "CacheUsageLimits": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.CacheUsageLimits" + }, + "DailySnapshotTime": { "type": "string" }, - "EC2SecurityGroupName": { + "Description": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Engine": { + "type": "string" + }, + "FinalSnapshotName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerlessCacheName": { + "type": "string" + }, + "SnapshotArnsToRestore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserGroupId": { "type": "string" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "Engine", + "ServerlessCacheName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ElastiCache::ServerlessCache" ], "type": "string" }, @@ -65698,6 +66892,58 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::ElastiCache::ServerlessCache.CacheUsageLimits": { + "additionalProperties": false, + "properties": { + "DataStorage": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.DataStorage" + }, + "ECPUPerSecond": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.ECPUPerSecond" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.DataStorage": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Maximum", + "Unit" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.ECPUPerSecond": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + } + }, + "required": [ + "Maximum" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -66812,6 +68058,9 @@ var SamSchema = `{ "LoadBalancerArn": { "type": "string" }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" + }, "Port": { "type": "number" }, @@ -67020,6 +68269,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication": { + "additionalProperties": false, + "properties": { + "IgnoreClientCertificateExpiry": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "TrustStoreArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { @@ -67735,70 +68999,255 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "IpAddressType": { - "type": "string" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStore": { + "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": { + "CaCertificatesBundleS3Bucket": { + "type": "string" + }, + "CaCertificatesBundleS3Key": { + "type": "string" + }, + "CaCertificatesBundleS3ObjectVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TrustStore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": { + "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": { + "RevocationContents": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "TrustStoreArn": { "type": "string" } }, @@ -67806,7 +69255,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "type": "string" }, @@ -67824,43 +69273,37 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent": { "additionalProperties": false, "properties": { - "GrpcCode": { + "RevocationType": { "type": "string" }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { + "S3Bucket": { "type": "string" }, - "Id": { + "S3Key": { "type": "string" }, - "Port": { - "type": "number" + "S3ObjectVersion": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation": { "additionalProperties": false, "properties": { - "Key": { + "NumberOfRevokedEntries": { + "type": "number" + }, + "RevocationId": { "type": "string" }, - "Value": { + "RevocationType": { + "type": "string" + }, + "TrustStoreArn": { "type": "string" } }, @@ -72069,6 +73512,9 @@ var SamSchema = `{ "FsxAdminPassword": { "type": "string" }, + "HAPairs": { + "type": "number" + }, "PreferredSubnetId": { "type": "string" }, @@ -72081,6 +73527,9 @@ var SamSchema = `{ "ThroughputCapacity": { "type": "number" }, + "ThroughputCapacityPerHAPair": { + "type": "number" + }, "WeeklyMaintenanceStartTime": { "type": "string" } @@ -72545,6 +73994,21 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::FSx::Volume.AggregateConfiguration": { + "additionalProperties": false, + "properties": { + "Aggregates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConstituentsPerAggregate": { + "type": "number" + } + }, + "type": "object" + }, "AWS::FSx::Volume.AutocommitPeriod": { "additionalProperties": false, "properties": { @@ -72597,6 +74061,9 @@ var SamSchema = `{ "AWS::FSx::Volume.OntapConfiguration": { "additionalProperties": false, "properties": { + "AggregateConfiguration": { + "$ref": "#/definitions/AWS::FSx::Volume.AggregateConfiguration" + }, "CopyTagsToBackups": { "type": "string" }, @@ -72609,6 +74076,9 @@ var SamSchema = `{ "SecurityStyle": { "type": "string" }, + "SizeInBytes": { + "type": "string" + }, "SizeInMegabytes": { "type": "string" }, @@ -72626,10 +74096,12 @@ var SamSchema = `{ }, "TieringPolicy": { "$ref": "#/definitions/AWS::FSx::Volume.TieringPolicy" + }, + "VolumeStyle": { + "type": "string" } }, "required": [ - "SizeInMegabytes", "StorageVirtualMachineId" ], "type": "object" @@ -74303,9 +75775,6 @@ var SamSchema = `{ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, - "ApplyCapacity": { - "type": "string" - }, "BuildId": { "type": "string" }, @@ -74807,7 +76276,7 @@ var SamSchema = `{ }, "Destinations": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" }, "type": "array" }, @@ -74865,15 +76334,6 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::GameLift::GameSessionQueue.FilterConfiguration": { "additionalProperties": false, "properties": { @@ -74886,6 +76346,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { @@ -75034,6 +76503,9 @@ var SamSchema = `{ "BackfillMode": { "type": "string" }, + "CreationTime": { + "type": "string" + }, "CustomEventData": { "type": "string" }, @@ -75067,6 +76539,9 @@ var SamSchema = `{ "RequestTimeoutSeconds": { "type": "number" }, + "RuleSetArn": { + "type": "string" + }, "RuleSetName": { "type": "string" }, @@ -78410,6 +79885,9 @@ var SamSchema = `{ "PermissionType": { "type": "string" }, + "PluginAdminEnabled": { + "type": "boolean" + }, "RoleArn": { "type": "string" }, @@ -82243,16 +83721,15 @@ var SamSchema = `{ }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::GuardDuty::IPSet.TagItem" }, "type": "array" } }, "required": [ - "Activate", - "DetectorId", "Format", - "Location" + "Location", + "Name" ], "type": "object" }, @@ -82277,6 +83754,22 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::GuardDuty::IPSet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { @@ -82315,104 +83808,189 @@ var SamSchema = `{ "DetectorId": { "type": "string" }, - "InvitationId": { + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { "type": "string" }, - "MasterId": { + "Location": { "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "Name": { "type": "string" }, - { + "Tags": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Format", + "Location", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -82431,89 +84009,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "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": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, @@ -85955,46 +87463,178 @@ var SamSchema = `{ "Description": { "type": "string" }, - "InstanceMetadataOptions": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { + "InstanceMetadataOptions": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRole": { "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" - }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { + "PolicyDetails": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" }, "type": "array" }, - "SnsTopicArn": { + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" + }, + "ResourceType": { "type": "string" }, - "SubnetId": { + "Status": { "type": "string" }, "Tags": { @@ -86005,20 +87645,20 @@ var SamSchema = `{ } }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", - "Name" + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -86037,37 +87677,178 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "AWS::ImageBuilder::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "HttpPutResponseHopLimit": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { + "additionalProperties": false, + "properties": { + "IsPublic": { + "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { + "additionalProperties": false, + "properties": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { "type": "number" }, - "HttpTokens": { + "Type": { "type": "string" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + "Amis": { + "type": "boolean" + }, + "Containers": { + "type": "boolean" + }, + "Snapshots": { + "type": "boolean" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { "additionalProperties": false, "properties": { - "S3BucketName": { + "Unit": { "type": "string" }, - "S3KeyPrefix": { + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SemanticVersion": { "type": "string" } }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, "type": "object" }, "AWS::Inspector::AssessmentTarget": { @@ -89018,6 +90799,9 @@ var SamSchema = `{ }, "type": "array" }, + "MetricsExportConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricsExportConfig" + }, "SecurityProfileDescription": { "type": "string" }, @@ -89081,6 +90865,9 @@ var SamSchema = `{ "Criteria": { "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89153,6 +90940,9 @@ var SamSchema = `{ "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89201,6 +90991,22 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoT::SecurityProfile.MetricsExportConfig": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MqttTopic", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { @@ -95267,6 +97073,15 @@ var SamSchema = `{ "ComponentTypeId": { "type": "string" }, + "CompositeComponentTypes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::ComponentType.CompositeComponentType" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95346,6 +97161,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::IoTTwinMaker::ComponentType.CompositeComponentType": { + "additionalProperties": false, + "properties": { + "ComponentTypeId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::ComponentType.DataConnector": { "additionalProperties": false, "properties": { @@ -95597,6 +97421,15 @@ var SamSchema = `{ }, "type": "object" }, + "CompositeComponents": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.CompositeComponent" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95688,6 +97521,45 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::IoTTwinMaker::Entity.CompositeComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ComponentPath": { + "type": "string" + }, + "ComponentTypeId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Property" + } + }, + "type": "object" + }, + "PropertyGroups": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.PropertyGroup" + } + }, + "type": "object" + }, + "Status": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Status" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::Entity.DataType": { "additionalProperties": false, "properties": { @@ -104665,6 +106537,9 @@ var SamSchema = `{ }, "type": "array" }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.LoggingConfig" + }, "MemorySize": { "type": "number" }, @@ -104826,6 +106701,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Lambda::Function.LoggingConfig": { + "additionalProperties": false, + "properties": { + "ApplicationLogLevel": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroup": { + "type": "string" + }, + "SystemLogLevel": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function.RuntimeManagementConfig": { "additionalProperties": false, "properties": { @@ -109083,49 +110976,348 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttachedInstances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HealthCheckPath": { - "type": "string" - }, - "InstancePort": { - "type": "number" - }, - "IpAddressType": { - "type": "string" + "AttachedInstances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HealthCheckPath": { + "type": "string" + }, + "InstancePort": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "LoadBalancerName": { + "type": "string" + }, + "SessionStickinessEnabled": { + "type": "boolean" + }, + "SessionStickinessLBCookieDurationSeconds": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TlsPolicyName": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::LoadBalancerTlsCertificate": { + "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": { + "CertificateAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateDomainName": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "HttpsRedirectionEnabled": { + "type": "boolean" + }, + "IsAttached": { + "type": "boolean" + }, + "LoadBalancerName": { + "type": "string" + } + }, + "required": [ + "CertificateDomainName", + "CertificateName", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancerTlsCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::StaticIp": { + "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": { + "AttachedTo": { + "type": "string" + }, + "StaticIpName": { + "type": "string" + } + }, + "required": [ + "StaticIpName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::StaticIp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "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": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CollectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "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": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" }, - "LoadBalancerName": { + "Description": { "type": "string" }, - "SessionStickinessEnabled": { - "type": "boolean" - }, - "SessionStickinessLBCookieDurationSeconds": { + "MapName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TlsPolicyName": { + "PricingPlan": { "type": "string" } }, "required": [ - "InstancePort", - "LoadBalancerName" + "Configuration", + "MapName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Location::Map" ], "type": "string" }, @@ -109144,7 +111336,19 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lightsail::LoadBalancerTlsCertificate": { + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { "additionalProperties": false, "properties": { "Condition": { @@ -109179,38 +111383,31 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CertificateAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CertificateDomainName": { + "DataSource": { "type": "string" }, - "CertificateName": { - "type": "string" + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" }, - "HttpsRedirectionEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "IsAttached": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "LoadBalancerName": { + "PricingPlan": { "type": "string" } }, "required": [ - "CertificateDomainName", - "CertificateName", - "LoadBalancerName" + "DataSource", + "IndexName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Location::PlaceIndex" ], "type": "string" }, @@ -109229,7 +111426,16 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Lightsail::StaticIp": { + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { "additionalProperties": false, "properties": { "Condition": { @@ -109264,21 +111470,28 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AttachedTo": { + "CalculatorName": { "type": "string" }, - "StaticIpName": { + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { "type": "string" } }, "required": [ - "StaticIpName" + "CalculatorName", + "DataSource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::Location::RouteCalculator" ], "type": "string" }, @@ -109297,7 +111510,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Location::GeofenceCollection": { + "AWS::Location::Tracker": { "additionalProperties": false, "properties": { "Condition": { @@ -109332,24 +111545,27 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CollectionName": { - "type": "string" - }, "Description": { "type": "string" }, "KmsKeyId": { "type": "string" + }, + "PositionFiltering": { + "type": "string" + }, + "TrackerName": { + "type": "string" } }, "required": [ - "CollectionName" + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::Location::Tracker" ], "type": "string" }, @@ -109368,7 +111584,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Location::Map": { + "AWS::Location::TrackerConsumer": { "additionalProperties": false, "properties": { "Condition": { @@ -109403,28 +111619,22 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { + "ConsumerArn": { "type": "string" }, - "PricingPlan": { + "TrackerName": { "type": "string" } }, "required": [ - "Configuration", - "MapName" + "ConsumerArn", + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Map" + "AWS::Location::TrackerConsumer" ], "type": "string" }, @@ -109443,19 +111653,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { + "AWS::Logs::AccountPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -109490,31 +111688,29 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DataSource": { + "PolicyDocument": { "type": "string" }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { + "PolicyName": { "type": "string" }, - "IndexName": { + "PolicyType": { "type": "string" }, - "PricingPlan": { + "Scope": { "type": "string" } }, "required": [ - "DataSource", - "IndexName" + "PolicyDocument", + "PolicyName", + "PolicyType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::PlaceIndex" + "AWS::Logs::AccountPolicy" ], "type": "string" }, @@ -109533,16 +111729,82 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "AWS::Logs::Delivery": { "additionalProperties": false, "properties": { - "IntendedUse": { + "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": { + "DeliveryDestinationArn": { + "type": "string" + }, + "DeliverySourceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeliveryDestinationArn", + "DeliverySourceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Delivery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Location::RouteCalculator": { + "AWS::Logs::DeliveryDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -109577,28 +111839,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "CalculatorName": { - "type": "string" + "DeliveryDestinationPolicy": { + "type": "object" }, - "DataSource": { + "DestinationResourceArn": { "type": "string" }, - "Description": { + "Name": { "type": "string" }, - "PricingPlan": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CalculatorName", - "DataSource" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::RouteCalculator" + "AWS::Logs::DeliveryDestination" ], "type": "string" }, @@ -109617,7 +111881,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Location::Tracker": { + "AWS::Logs::DeliverySource": { "additionalProperties": false, "properties": { "Condition": { @@ -109652,27 +111916,30 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LogType": { "type": "string" }, - "KmsKeyId": { + "Name": { "type": "string" }, - "PositionFiltering": { + "ResourceArn": { "type": "string" }, - "TrackerName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TrackerName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Tracker" + "AWS::Logs::DeliverySource" ], "type": "string" }, @@ -109691,7 +111958,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Location::TrackerConsumer": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "Condition": { @@ -109726,22 +111993,29 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ConsumerArn": { + "DestinationName": { "type": "string" }, - "TrackerName": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ConsumerArn", - "TrackerName" + "DestinationName", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Logs::Destination" ], "type": "string" }, @@ -109760,7 +112034,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Logs::AccountPolicy": { + "AWS::Logs::LogAnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -109795,105 +112069,36 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "AccountId": { "type": "string" }, - "PolicyName": { + "AnomalyVisibilityTime": { + "type": "number" + }, + "DetectorName": { "type": "string" }, - "PolicyType": { + "EvaluationFrequency": { "type": "string" }, - "Scope": { + "FilterPattern": { "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::AccountPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "KmsKeyId": { "type": "string" }, - { + "LogGroupArnList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } }, - "required": [ - "DestinationName", - "RoleArn", - "TargetArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::Logs::LogAnomalyDetector" ], "type": "string" }, @@ -109907,8 +112112,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -109953,6 +112157,9 @@ var SamSchema = `{ "KmsKeyId": { "type": "string" }, + "LogGroupClass": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -112710,6 +114917,9 @@ var SamSchema = `{ "DagS3Path": { "type": "string" }, + "EndpointManagement": { + "type": "string" + }, "EnvironmentClass": { "type": "string" }, @@ -113278,6 +115488,9 @@ var SamSchema = `{ "AccessorType": { "type": "string" }, + "NetworkType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126747,6 +128960,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "StandbyReplicas": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126783,6 +128999,82 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::OpenSearchServerless::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Policy", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpenSearchServerless::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::OpenSearchServerless::SecurityConfig": { "additionalProperties": false, "properties": { @@ -134023,6 +136315,9 @@ var SamSchema = `{ "EnrichmentParameters": { "$ref": "#/definitions/AWS::Pipes::Pipe.PipeEnrichmentParameters" }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Pipes::Pipe.PipeLogConfiguration" + }, "Name": { "type": "string" }, @@ -134206,6 +136501,15 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::Pipes::Pipe.CloudwatchLogsLogDestination": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -134379,6 +136683,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.FirehoseLogDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.MQBrokerAccessCredentials": { "additionalProperties": false, "properties": { @@ -134454,6 +136767,30 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.PipeLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudwatchLogsLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.CloudwatchLogsLogDestination" + }, + "FirehoseLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.FirehoseLogDestination" + }, + "IncludeExecutionData": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Level": { + "type": "string" + }, + "S3LogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.S3LogDestination" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.PipeSourceActiveMQBrokerParameters": { "additionalProperties": false, "properties": { @@ -135001,6 +137338,24 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Pipes::Pipe.S3LogDestination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { @@ -146156,9 +148511,6 @@ var SamSchema = `{ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.Sheet" @@ -153677,6 +156029,9 @@ var SamSchema = `{ }, "NewColumnType": { "type": "string" + }, + "SubType": { + "type": "string" } }, "required": [ @@ -153963,6 +156318,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -154138,6 +156496,9 @@ var SamSchema = `{ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -163038,9 +165399,6 @@ var SamSchema = `{ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Template.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Template.Sheet" @@ -170169,6 +172527,9 @@ var SamSchema = `{ }, "type": "array" }, + "Scope": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -173211,35 +175572,351 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "OutpostArn": { + "InstanceCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverConfig": { + "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": { + "AutodefinedReverseFlag": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "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": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "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": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolverEndpointType": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "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": { + "DestinationArn": { "type": "string" }, - "PreferredInstanceType": { + "Name": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -173253,12 +175930,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173293,75 +175969,9 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "AutodefinedReverseFlag", - "ResourceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResolverQueryLogConfigId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "ResourceId": { "type": "string" } @@ -173370,7 +175980,7 @@ var SamSchema = `{ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -173388,7 +175998,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -173423,50 +176033,40 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DomainName": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, "Name": { "type": "string" }, - "OutpostArn": { - "type": "string" - }, - "PreferredInstanceType": { + "ResolverEndpointId": { "type": "string" }, - "ResolverEndpointType": { + "RuleType": { "type": "string" }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { + "TargetIps": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" }, "type": "array" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -173485,7 +176085,7 @@ var SamSchema = `{ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { "Ip": { @@ -173494,16 +176094,16 @@ var SamSchema = `{ "Ipv6": { "type": "string" }, - "SubnetId": { + "Port": { + "type": "string" + }, + "Protocol": { "type": "string" } }, - "required": [ - "SubnetId" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173538,18 +176138,25 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Name": { "type": "string" }, - "Name": { + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { "type": "string" } }, + "required": [ + "ResolverRuleId", + "VPCId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -173563,11 +176170,12 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -173602,18 +176210,41 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { "type": "string" }, - "ResourceId": { + "ApplicationArn": { "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee" + }, + "Permission": { + "type": "string" + }, + "S3PrefixType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -173627,11 +176258,40 @@ var SamSchema = `{ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "type": "string" + }, + "GranteeType": { + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -173666,16 +176326,7 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { + "IdentityCenterArn": { "type": "string" }, "Tags": { @@ -173683,23 +176334,13 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -173713,27 +176354,11 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Ipv6": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -173768,25 +176393,24 @@ var SamSchema = `{ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "IamRoleArn": { "type": "string" }, - "ResolverRuleId": { + "LocationScope": { "type": "string" }, - "VPCId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "ResolverRuleId", - "VPCId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -173800,8 +176424,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -175664,6 +178287,342 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::S3::StorageLensGroup": { + "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": { + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Filter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLensGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLensGroup.And": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Filter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And" + }, + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectAge": { + "additionalProperties": false, + "properties": { + "DaysGreaterThan": { + "type": "number" + }, + "DaysLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectSize": { + "additionalProperties": false, + "properties": { + "BytesGreaterThan": { + "type": "number" + }, + "BytesLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::BucketPolicy": { + "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": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket": { + "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": { + "BucketName": { + "type": "string" + }, + "DataRedundancy": { + "type": "string" + }, + "LocationName": { + "type": "string" + } + }, + "required": [ + "DataRedundancy", + "LocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::DirectoryBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { @@ -182231,9 +185190,15 @@ var SamSchema = `{ "DataCaptureConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, + "EnableNetworkIsolation": { + "type": "boolean" + }, "EndpointConfigName": { "type": "string" }, + "ExecutionRoleArn": { + "type": "string" + }, "ExplainerConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" }, @@ -182257,6 +185222,9 @@ var SamSchema = `{ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ @@ -182547,6 +185515,21 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "type": "number" + }, + "MinInstanceCount": { + "type": "number" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -182568,12 +185551,18 @@ var SamSchema = `{ "InstanceType": { "type": "string" }, + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, "ModelDataDownloadTimeoutInSeconds": { "type": "number" }, "ModelName": { "type": "string" }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, "ServerlessConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig" }, @@ -182585,12 +185574,19 @@ var SamSchema = `{ } }, "required": [ - "InitialVariantWeight", - "ModelName", "VariantName" ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "additionalProperties": false, + "properties": { + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ServerlessConfig": { "additionalProperties": false, "properties": { @@ -182610,6 +185606,28 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { @@ -182981,6 +185999,200 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent": { + "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": { + "EndpointArn": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceComponentName": { + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "RuntimeConfig", + "Specification", + "VariantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.DeployedImage": { + "additionalProperties": false, + "properties": { + "ResolutionTime": { + "type": "string" + }, + "ResolvedImage": { + "type": "string" + }, + "SpecifiedImage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { + "additionalProperties": false, + "properties": { + "MaxMemoryRequiredInMb": { + "type": "number" + }, + "MinMemoryRequiredInMb": { + "type": "number" + }, + "NumberOfAcceleratorDevicesRequired": { + "type": "number" + }, + "NumberOfCpuCoresRequired": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { + "additionalProperties": false, + "properties": { + "CopyCount": { + "type": "number" + }, + "CurrentCopyCount": { + "type": "number" + }, + "DesiredCopyCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" + }, + "ModelName": { + "type": "string" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "ComputeResourceRequirements" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "additionalProperties": false, + "properties": { + "ContainerStartupHealthCheckTimeoutInSeconds": { + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -183311,9 +186523,6 @@ var SamSchema = `{ "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { @@ -183332,8 +186541,7 @@ var SamSchema = `{ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -183358,6 +186566,9 @@ var SamSchema = `{ "Mode": { "type": "string" }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource" + }, "ModelDataUrl": { "type": "string" }, @@ -183397,6 +186608,18 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -183418,6 +186641,26 @@ var SamSchema = `{ ], "type": "object" }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "S3DataType": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -196824,6 +200067,9 @@ var SamSchema = `{ }, "type": "array" }, + "S3StorageOptions": { + "$ref": "#/definitions/AWS::Transfer::Server.S3StorageOptions" + }, "SecurityPolicyName": { "type": "string" }, @@ -196947,6 +200193,15 @@ var SamSchema = `{ }, "type": "object" }, + "AWS::Transfer::Server.S3StorageOptions": { + "additionalProperties": false, + "properties": { + "DirectoryListingOptimization": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.StructuredLogDestination": { "additionalProperties": false, "properties": {}, @@ -197097,6 +200352,9 @@ var SamSchema = `{ }, "Target": { "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ @@ -205874,6 +209132,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::APS::Workspace" }, + { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + }, { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, @@ -206207,6 +209468,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Backup::ReportPlan" }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -206453,6 +209720,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::CodeStarConnections::Connection" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::RepositoryLink" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::SyncConfiguration" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -206606,6 +209879,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::ControlTower::LandingZone" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" }, @@ -206753,6 +210029,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::DocDB::EventSubscription" + }, { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, @@ -207098,6 +210377,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::EKS::Nodegroup" }, + { + "$ref": "#/definitions/AWS::EKS::PodIdentityAssociation" + }, { "$ref": "#/definitions/AWS::EMR::Cluster" }, @@ -207146,6 +210428,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" + }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -207185,6 +210470,12 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStore" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + }, { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, @@ -207575,6 +210866,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -207980,9 +211274,21 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Logs::AccountPolicy" }, + { + "$ref": "#/definitions/AWS::Logs::Delivery" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliveryDestination" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliverySource" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, + { + "$ref": "#/definitions/AWS::Logs::LogAnomalyDetector" + }, { "$ref": "#/definitions/AWS::Logs::LogGroup" }, @@ -208295,6 +211601,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::OpenSearchServerless::Collection" }, + { + "$ref": "#/definitions/AWS::OpenSearchServerless::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::OpenSearchServerless::SecurityConfig" }, @@ -208724,6 +212033,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" }, + { + "$ref": "#/definitions/AWS::S3::AccessGrant" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsInstance" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsLocation" + }, { "$ref": "#/definitions/AWS::S3::AccessPoint" }, @@ -208742,6 +212060,15 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::S3::StorageLens" }, + { + "$ref": "#/definitions/AWS::S3::StorageLensGroup" + }, + { + "$ref": "#/definitions/AWS::S3Express::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket" + }, { "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" }, @@ -208904,6 +212231,9 @@ var SamSchema = `{ { "$ref": "#/definitions/AWS::SageMaker::ImageVersion" }, + { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent" + }, { "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment" }, diff --git a/schema/sam.schema.json b/schema/sam.schema.json index e92489bdd2..85494fdd9b 100644 --- a/schema/sam.schema.json +++ b/schema/sam.schema.json @@ -1054,6 +1054,122 @@ }, "type": "object" }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration": { + "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": { + "PracticeRunConfiguration": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration" + }, + "ResourceIdentifier": { + "type": "string" + }, + "ZonalAutoshiftStatus": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition": { + "additionalProperties": false, + "properties": { + "AlarmIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "AlarmIdentifier", + "Type" + ], + "type": "object" + }, + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration.PracticeRunConfiguration": { + "additionalProperties": false, + "properties": { + "BlockedDates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockedWindows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BlockingAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + }, + "OutcomeAlarms": { + "items": { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration.ControlCondition" + }, + "type": "array" + } + }, + "required": [ + "OutcomeAlarms" + ], + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer": { "additionalProperties": false, "properties": { @@ -1089,6 +1205,9 @@ "Properties": { "additionalProperties": false, "properties": { + "AnalyzerConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration" + }, "AnalyzerName": { "type": "string" }, @@ -1134,6 +1253,15 @@ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.AnalyzerConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessConfiguration": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration" + } + }, + "type": "object" + }, "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { "additionalProperties": false, "properties": { @@ -1186,6 +1314,15 @@ ], "type": "object" }, + "AWS::AccessAnalyzer::Analyzer.UnusedAccessConfiguration": { + "additionalProperties": false, + "properties": { + "UnusedAccessAge": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { @@ -16219,6 +16356,12 @@ "MetricName": { "type": "string" }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery" + }, + "type": "array" + }, "Namespace": { "type": "string" }, @@ -16229,11 +16372,6 @@ "type": "string" } }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], "type": "object" }, "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { @@ -16309,6 +16447,72 @@ }, "type": "object" }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "MetricStat": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat" + }, + "ReturnData": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat": { + "additionalProperties": false, + "properties": { + "Metric": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric" + }, + "Stat": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { "additionalProperties": false, "properties": { @@ -17558,6 +17762,9 @@ "InstanceId": { "type": "string" }, + "InstanceMaintenancePolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy" + }, "LaunchConfigurationName": { "type": "string" }, @@ -17700,6 +17907,18 @@ }, "type": "object" }, + "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy": { + "additionalProperties": false, + "properties": { + "MaxHealthyPercentage": { + "type": "number" + }, + "MinHealthyPercentage": { + "type": "number" + } + }, + "type": "object" + }, "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements": { "additionalProperties": false, "properties": { @@ -19973,6 +20192,258 @@ ], "type": "object" }, + "AWS::Backup::RestoreTestingPlan": { + "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": { + "RecoveryPointSelection": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleExpressionTimezone": { + "type": "string" + }, + "StartWindowHours": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryPointSelection", + "RestoreTestingPlanName", + "ScheduleExpression" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingPlan.RestoreTestingRecoveryPointSelection": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ExcludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeVaults": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryPointTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionWindowDays": { + "type": "number" + } + }, + "required": [ + "Algorithm", + "IncludeVaults", + "RecoveryPointTypes" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection": { + "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": { + "IamRoleArn": { + "type": "string" + }, + "ProtectedResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProtectedResourceConditions": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions" + }, + "ProtectedResourceType": { + "type": "string" + }, + "RestoreMetadataOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RestoreTestingPlanName": { + "type": "string" + }, + "RestoreTestingSelectionName": { + "type": "string" + }, + "ValidationWindowHours": { + "type": "number" + } + }, + "required": [ + "IamRoleArn", + "ProtectedResourceType", + "RestoreTestingPlanName", + "RestoreTestingSelectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::RestoreTestingSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Backup::RestoreTestingSelection.ProtectedResourceConditions": { + "additionalProperties": false, + "properties": { + "StringEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + }, + "StringNotEquals": { + "items": { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection.KeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::BackupGateway::Hypervisor": { "additionalProperties": false, "properties": { @@ -28175,9 +28646,21 @@ }, "type": "array" }, + "BillingMode": { + "type": "string" + }, "IngestionEnabled": { "type": "boolean" }, + "InsightSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::EventDataStore.InsightSelector" + }, + "type": "array" + }, + "InsightsDestination": { + "type": "string" + }, "KmsKeyId": { "type": "string" }, @@ -28291,6 +28774,15 @@ ], "type": "object" }, + "AWS::CloudTrail::EventDataStore.InsightSelector": { + "additionalProperties": false, + "properties": { + "InsightType": { + "type": "string" + } + }, + "type": "object" + }, "AWS::CloudTrail::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -32234,6 +32726,173 @@ ], "type": "object" }, + "AWS::CodeStarConnections::RepositoryLink": { + "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": { + "ConnectionArn": { + "type": "string" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "OwnerId": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::RepositoryLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarConnections::SyncConfiguration": { + "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": { + "Branch": { + "type": "string" + }, + "ConfigFile": { + "type": "string" + }, + "RepositoryLinkId": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::SyncConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CodeStarNotifications::NotificationRule": { "additionalProperties": false, "properties": { @@ -38897,6 +39556,12 @@ "ControlIdentifier": { "type": "string" }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "type": "array" + }, "TargetIdentifier": { "type": "string" } @@ -38928,6 +39593,97 @@ ], "type": "object" }, + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "object" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ControlTower::LandingZone": { + "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": { + "Manifest": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Manifest", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ControlTower::LandingZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::CustomerProfiles::CalculatedAttributeDefinition": { "additionalProperties": false, "properties": { @@ -40327,15 +41083,36 @@ "Properties": { "additionalProperties": false, "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, + "DefaultPolicy": { + "type": "string" + }, "Description": { "type": "string" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, "ExecutionRoleArn": { "type": "string" }, + "ExtendDeletion": { + "type": "boolean" + }, "PolicyDetails": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" }, + "RetainInterval": { + "type": "number" + }, "State": { "type": "string" }, @@ -40522,6 +41299,20 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget": { + "additionalProperties": false, + "properties": { + "TargetRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.DeprecateRule": { "additionalProperties": false, "properties": { @@ -40589,6 +41380,31 @@ ], "type": "object" }, + "AWS::DLM::LifecyclePolicy.ExcludeTags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Exclusions": { + "additionalProperties": false, + "properties": { + "ExcludeBootVolumes": { + "type": "boolean" + }, + "ExcludeTags": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeTags" + }, + "ExcludeVolumeTypes": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.ExcludeVolumeTypesList" + } + }, + "type": "object" + }, "AWS::DLM::LifecyclePolicy.FastRestoreRule": { "additionalProperties": false, "properties": { @@ -40637,12 +41453,30 @@ }, "type": "array" }, + "CopyTags": { + "type": "boolean" + }, + "CreateInterval": { + "type": "number" + }, + "CrossRegionCopyTargets": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyTargets" + }, "EventSource": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" }, + "Exclusions": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Exclusions" + }, + "ExtendDeletion": { + "type": "boolean" + }, "Parameters": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" }, + "PolicyLanguage": { + "type": "string" + }, "PolicyType": { "type": "string" }, @@ -40652,12 +41486,18 @@ }, "type": "array" }, + "ResourceType": { + "type": "string" + }, "ResourceTypes": { "items": { "type": "string" }, "type": "array" }, + "RetainInterval": { + "type": "number" + }, "Schedules": { "items": { "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" @@ -40799,6 +41639,11 @@ }, "type": "object" }, + "AWS::DLM::LifecyclePolicy.VolumeTypeValues": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::DMS::Certificate": { "additionalProperties": false, "properties": { @@ -41682,6 +42527,9 @@ "AddColumnName": { "type": "boolean" }, + "AddTrailingPaddingCharacter": { + "type": "boolean" + }, "BucketFolder": { "type": "string" }, @@ -41751,9 +42599,15 @@ "EncryptionMode": { "type": "string" }, + "ExpectedBucketOwner": { + "type": "string" + }, "ExternalTableDefinition": { "type": "string" }, + "GlueCatalogGeneration": { + "type": "boolean" + }, "IgnoreHeaderRows": { "type": "number" }, @@ -46832,6 +47686,12 @@ "AvailabilityZone": { "type": "string" }, + "CACertificateIdentifier": { + "type": "string" + }, + "CertificateRotationRestart": { + "type": "boolean" + }, "DBClusterIdentifier": { "type": "string" }, @@ -46962,6 +47822,92 @@ ], "type": "object" }, + "AWS::DocDB::EventSubscription": { + "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": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::DocDBElastic::Cluster": { "additionalProperties": false, "properties": { @@ -51494,6 +52440,27 @@ }, "type": "object" }, + "AWS::EC2::LaunchTemplate.EnaSrdSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdEnabled": { + "type": "boolean" + }, + "EnaSrdUdpSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification": { + "additionalProperties": false, + "properties": { + "EnaSrdUdpEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "AWS::EC2::LaunchTemplate.EnclaveOptions": { "additionalProperties": false, "properties": { @@ -51914,6 +52881,9 @@ "DeviceIndex": { "type": "number" }, + "EnaSrdSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnaSrdSpecification" + }, "Groups": { "items": { "type": "string" @@ -56369,6 +57339,9 @@ }, "Ipv6Support": { "type": "string" + }, + "SecurityGroupReferencingSupport": { + "type": "string" } }, "type": "object" @@ -59067,107 +60040,113 @@ "Properties": { "additionalProperties": false, "properties": { - "RepositoryCatalogData": { - "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" - }, - "RepositoryName": { + "RepositoryCatalogData": { + "$ref": "#/definitions/AWS::ECR::PublicRepository.RepositoryCatalogData" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "additionalProperties": false, + "properties": { + "AboutText": { + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RepositoryDescription": { + "type": "string" + }, + "UsageText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECR::PullThroughCacheRule": { + "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": { + "CredentialArn": { "type": "string" }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { - "additionalProperties": false, - "properties": { - "AboutText": { - "type": "string" - }, - "Architectures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OperatingSystems": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RepositoryDescription": { - "type": "string" - }, - "UsageText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "EcrRepositoryPrefix": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EcrRepositoryPrefix": { + "UpstreamRegistry": { "type": "string" }, "UpstreamRegistryUrl": { @@ -61573,6 +62552,9 @@ "FileSystemPolicy": { "type": "object" }, + "FileSystemProtection": { + "$ref": "#/definitions/AWS::EFS::FileSystem.FileSystemProtection" + }, "FileSystemTags": { "items": { "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" @@ -61651,9 +62633,21 @@ ], "type": "object" }, + "AWS::EFS::FileSystem.FileSystemProtection": { + "additionalProperties": false, + "properties": { + "ReplicationOverwriteProtection": { + "type": "string" + } + }, + "type": "object" + }, "AWS::EFS::FileSystem.LifecyclePolicy": { "additionalProperties": false, "properties": { + "TransitionToArchive": { + "type": "string" + }, "TransitionToIA": { "type": "string" }, @@ -62561,6 +63555,89 @@ }, "type": "object" }, + "AWS::EKS::PodIdentityAssociation": { + "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": { + "ClusterName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServiceAccount": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "Namespace", + "RoleArn", + "ServiceAccount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::PodIdentityAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::EMR::Cluster": { "additionalProperties": false, "properties": { @@ -65656,25 +66733,142 @@ "Properties": { "additionalProperties": false, "properties": { - "CacheSecurityGroupName": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache": { + "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": { + "CacheUsageLimits": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.CacheUsageLimits" + }, + "DailySnapshotTime": { "type": "string" }, - "EC2SecurityGroupName": { + "Description": { "type": "string" }, - "EC2SecurityGroupOwnerId": { + "Engine": { + "type": "string" + }, + "FinalSnapshotName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerlessCacheName": { + "type": "string" + }, + "SnapshotArnsToRestore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserGroupId": { "type": "string" } }, "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" + "Engine", + "ServerlessCacheName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ElastiCache::ServerlessCache" ], "type": "string" }, @@ -65693,6 +66887,58 @@ ], "type": "object" }, + "AWS::ElastiCache::ServerlessCache.CacheUsageLimits": { + "additionalProperties": false, + "properties": { + "DataStorage": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.DataStorage" + }, + "ECPUPerSecond": { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache.ECPUPerSecond" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.DataStorage": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Maximum", + "Unit" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.ECPUPerSecond": { + "additionalProperties": false, + "properties": { + "Maximum": { + "type": "number" + } + }, + "required": [ + "Maximum" + ], + "type": "object" + }, + "AWS::ElastiCache::ServerlessCache.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -66807,6 +68053,9 @@ "LoadBalancerArn": { "type": "string" }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication" + }, "Port": { "type": "number" }, @@ -67015,6 +68264,21 @@ }, "type": "object" }, + "AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication": { + "additionalProperties": false, + "properties": { + "IgnoreClientCertificateExpiry": { + "type": "boolean" + }, + "Mode": { + "type": "string" + }, + "TrustStoreArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { "additionalProperties": false, "properties": { @@ -67730,70 +68994,255 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "IpAddressType": { - "type": "string" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStore": { + "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": { + "CaCertificatesBundleS3Bucket": { + "type": "string" + }, + "CaCertificatesBundleS3Key": { + "type": "string" + }, + "CaCertificatesBundleS3ObjectVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TrustStore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation": { + "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": { + "RevocationContents": { "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent" }, "type": "array" }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { + "TrustStoreArn": { "type": "string" } }, @@ -67801,7 +69250,7 @@ }, "Type": { "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "type": "string" }, @@ -67819,43 +69268,37 @@ ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.RevocationContent": { "additionalProperties": false, "properties": { - "GrpcCode": { + "RevocationType": { "type": "string" }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { + "S3Bucket": { "type": "string" }, - "Id": { + "S3Key": { "type": "string" }, - "Port": { - "type": "number" + "S3ObjectVersion": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation.TrustStoreRevocation": { "additionalProperties": false, "properties": { - "Key": { + "NumberOfRevokedEntries": { + "type": "number" + }, + "RevocationId": { "type": "string" }, - "Value": { + "RevocationType": { + "type": "string" + }, + "TrustStoreArn": { "type": "string" } }, @@ -72064,6 +73507,9 @@ "FsxAdminPassword": { "type": "string" }, + "HAPairs": { + "type": "number" + }, "PreferredSubnetId": { "type": "string" }, @@ -72076,6 +73522,9 @@ "ThroughputCapacity": { "type": "number" }, + "ThroughputCapacityPerHAPair": { + "type": "number" + }, "WeeklyMaintenanceStartTime": { "type": "string" } @@ -72540,6 +73989,21 @@ ], "type": "object" }, + "AWS::FSx::Volume.AggregateConfiguration": { + "additionalProperties": false, + "properties": { + "Aggregates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConstituentsPerAggregate": { + "type": "number" + } + }, + "type": "object" + }, "AWS::FSx::Volume.AutocommitPeriod": { "additionalProperties": false, "properties": { @@ -72592,6 +74056,9 @@ "AWS::FSx::Volume.OntapConfiguration": { "additionalProperties": false, "properties": { + "AggregateConfiguration": { + "$ref": "#/definitions/AWS::FSx::Volume.AggregateConfiguration" + }, "CopyTagsToBackups": { "type": "string" }, @@ -72604,6 +74071,9 @@ "SecurityStyle": { "type": "string" }, + "SizeInBytes": { + "type": "string" + }, "SizeInMegabytes": { "type": "string" }, @@ -72621,10 +74091,12 @@ }, "TieringPolicy": { "$ref": "#/definitions/AWS::FSx::Volume.TieringPolicy" + }, + "VolumeStyle": { + "type": "string" } }, "required": [ - "SizeInMegabytes", "StorageVirtualMachineId" ], "type": "object" @@ -74298,9 +75770,6 @@ "AnywhereConfiguration": { "$ref": "#/definitions/AWS::GameLift::Fleet.AnywhereConfiguration" }, - "ApplyCapacity": { - "type": "string" - }, "BuildId": { "type": "string" }, @@ -74802,7 +76271,7 @@ }, "Destinations": { "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.GameSessionQueueDestination" }, "type": "array" }, @@ -74860,15 +76329,6 @@ ], "type": "object" }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::GameLift::GameSessionQueue.FilterConfiguration": { "additionalProperties": false, "properties": { @@ -74881,6 +76341,15 @@ }, "type": "object" }, + "AWS::GameLift::GameSessionQueue.GameSessionQueueDestination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { "additionalProperties": false, "properties": { @@ -75029,6 +76498,9 @@ "BackfillMode": { "type": "string" }, + "CreationTime": { + "type": "string" + }, "CustomEventData": { "type": "string" }, @@ -75062,6 +76534,9 @@ "RequestTimeoutSeconds": { "type": "number" }, + "RuleSetArn": { + "type": "string" + }, "RuleSetName": { "type": "string" }, @@ -78405,6 +79880,9 @@ "PermissionType": { "type": "string" }, + "PluginAdminEnabled": { + "type": "boolean" + }, "RoleArn": { "type": "string" }, @@ -82238,16 +83716,15 @@ }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::GuardDuty::IPSet.TagItem" }, "type": "array" } }, "required": [ - "Activate", - "DetectorId", "Format", - "Location" + "Location", + "Name" ], "type": "object" }, @@ -82272,6 +83749,22 @@ ], "type": "object" }, + "AWS::GuardDuty::IPSet.TagItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, "AWS::GuardDuty::Master": { "additionalProperties": false, "properties": { @@ -82310,104 +83803,189 @@ "DetectorId": { "type": "string" }, - "InvitationId": { + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "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": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "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": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { "type": "string" }, - "MasterId": { + "Location": { "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "Name": { "type": "string" }, - { + "Tags": { "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet.TagItem" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } }, "required": [ - "DetectorId", - "Email", - "MemberId" + "Format", + "Location", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::GuardDuty::Member" + "AWS::GuardDuty::ThreatIntelSet" ], "type": "string" }, @@ -82426,89 +84004,19 @@ ], "type": "object" }, - "AWS::GuardDuty::ThreatIntelSet": { + "AWS::GuardDuty::ThreatIntelSet.TagItem": { "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": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], + "Key": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { "type": "string" } }, "required": [ - "Type", - "Properties" + "Key", + "Value" ], "type": "object" }, @@ -85950,46 +87458,178 @@ "Description": { "type": "string" }, - "InstanceMetadataOptions": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { + "InstanceMetadataOptions": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRole": { "type": "string" }, - "Logging": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.Logging" - }, "Name": { "type": "string" }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { + "PolicyDetails": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" }, "type": "array" }, - "SnsTopicArn": { + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection" + }, + "ResourceType": { "type": "string" }, - "SubnetId": { + "Status": { "type": "string" }, "Tags": { @@ -86000,20 +87640,20 @@ } }, "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" } }, "required": [ - "InstanceProfileName", - "Name" + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -86032,37 +87672,178 @@ ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.InstanceMetadataOptions": { + "AWS::ImageBuilder::LifecyclePolicy.Action": { "additionalProperties": false, "properties": { - "HttpPutResponseHopLimit": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { + "additionalProperties": false, + "properties": { + "IsPublic": { + "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { + "additionalProperties": false, + "properties": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { "type": "number" }, - "HttpTokens": { + "Type": { "type": "string" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { "additionalProperties": false, "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + "Amis": { + "type": "boolean" + }, + "Containers": { + "type": "boolean" + }, + "Snapshots": { + "type": "boolean" } }, "type": "object" }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { "additionalProperties": false, "properties": { - "S3BucketName": { + "Unit": { "type": "string" }, - "S3KeyPrefix": { + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SemanticVersion": { "type": "string" } }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, "type": "object" }, "AWS::Inspector::AssessmentTarget": { @@ -89013,6 +90794,9 @@ }, "type": "array" }, + "MetricsExportConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricsExportConfig" + }, "SecurityProfileDescription": { "type": "string" }, @@ -89076,6 +90860,9 @@ "Criteria": { "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" }, + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89148,6 +90935,9 @@ "AWS::IoT::SecurityProfile.MetricToRetain": { "additionalProperties": false, "properties": { + "ExportMetric": { + "type": "boolean" + }, "Metric": { "type": "string" }, @@ -89196,6 +90986,22 @@ }, "type": "object" }, + "AWS::IoT::SecurityProfile.MetricsExportConfig": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MqttTopic", + "RoleArn" + ], + "type": "object" + }, "AWS::IoT::SecurityProfile.StatisticalThreshold": { "additionalProperties": false, "properties": { @@ -95262,6 +97068,15 @@ "ComponentTypeId": { "type": "string" }, + "CompositeComponentTypes": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::ComponentType.CompositeComponentType" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95341,6 +97156,15 @@ ], "type": "object" }, + "AWS::IoTTwinMaker::ComponentType.CompositeComponentType": { + "additionalProperties": false, + "properties": { + "ComponentTypeId": { + "type": "string" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::ComponentType.DataConnector": { "additionalProperties": false, "properties": { @@ -95592,6 +97416,15 @@ }, "type": "object" }, + "CompositeComponents": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.CompositeComponent" + } + }, + "type": "object" + }, "Description": { "type": "string" }, @@ -95683,6 +97516,45 @@ }, "type": "object" }, + "AWS::IoTTwinMaker::Entity.CompositeComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ComponentPath": { + "type": "string" + }, + "ComponentTypeId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Property" + } + }, + "type": "object" + }, + "PropertyGroups": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.PropertyGroup" + } + }, + "type": "object" + }, + "Status": { + "$ref": "#/definitions/AWS::IoTTwinMaker::Entity.Status" + } + }, + "type": "object" + }, "AWS::IoTTwinMaker::Entity.DataType": { "additionalProperties": false, "properties": { @@ -104660,6 +106532,9 @@ }, "type": "array" }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.LoggingConfig" + }, "MemorySize": { "type": "number" }, @@ -104821,6 +106696,24 @@ }, "type": "object" }, + "AWS::Lambda::Function.LoggingConfig": { + "additionalProperties": false, + "properties": { + "ApplicationLogLevel": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroup": { + "type": "string" + }, + "SystemLogLevel": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Lambda::Function.RuntimeManagementConfig": { "additionalProperties": false, "properties": { @@ -109078,49 +110971,348 @@ "Properties": { "additionalProperties": false, "properties": { - "AttachedInstances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HealthCheckPath": { - "type": "string" - }, - "InstancePort": { - "type": "number" - }, - "IpAddressType": { - "type": "string" + "AttachedInstances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HealthCheckPath": { + "type": "string" + }, + "InstancePort": { + "type": "number" + }, + "IpAddressType": { + "type": "string" + }, + "LoadBalancerName": { + "type": "string" + }, + "SessionStickinessEnabled": { + "type": "boolean" + }, + "SessionStickinessLBCookieDurationSeconds": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TlsPolicyName": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::LoadBalancerTlsCertificate": { + "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": { + "CertificateAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CertificateDomainName": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "HttpsRedirectionEnabled": { + "type": "boolean" + }, + "IsAttached": { + "type": "boolean" + }, + "LoadBalancerName": { + "type": "string" + } + }, + "required": [ + "CertificateDomainName", + "CertificateName", + "LoadBalancerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::LoadBalancerTlsCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lightsail::StaticIp": { + "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": { + "AttachedTo": { + "type": "string" + }, + "StaticIpName": { + "type": "string" + } + }, + "required": [ + "StaticIpName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lightsail::StaticIp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "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": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CollectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "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": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" }, - "LoadBalancerName": { + "Description": { "type": "string" }, - "SessionStickinessEnabled": { - "type": "boolean" - }, - "SessionStickinessLBCookieDurationSeconds": { + "MapName": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TlsPolicyName": { + "PricingPlan": { "type": "string" } }, "required": [ - "InstancePort", - "LoadBalancerName" + "Configuration", + "MapName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::Location::Map" ], "type": "string" }, @@ -109139,7 +111331,19 @@ ], "type": "object" }, - "AWS::Lightsail::LoadBalancerTlsCertificate": { + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { "additionalProperties": false, "properties": { "Condition": { @@ -109174,38 +111378,31 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CertificateDomainName": { + "DataSource": { "type": "string" }, - "CertificateName": { - "type": "string" + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" }, - "HttpsRedirectionEnabled": { - "type": "boolean" + "Description": { + "type": "string" }, - "IsAttached": { - "type": "boolean" + "IndexName": { + "type": "string" }, - "LoadBalancerName": { + "PricingPlan": { "type": "string" } }, "required": [ - "CertificateDomainName", - "CertificateName", - "LoadBalancerName" + "DataSource", + "IndexName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Location::PlaceIndex" ], "type": "string" }, @@ -109224,7 +111421,16 @@ ], "type": "object" }, - "AWS::Lightsail::StaticIp": { + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { "additionalProperties": false, "properties": { "Condition": { @@ -109259,21 +111465,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AttachedTo": { + "CalculatorName": { "type": "string" }, - "StaticIpName": { + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { "type": "string" } }, "required": [ - "StaticIpName" + "CalculatorName", + "DataSource" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::Location::RouteCalculator" ], "type": "string" }, @@ -109292,7 +111505,7 @@ ], "type": "object" }, - "AWS::Location::GeofenceCollection": { + "AWS::Location::Tracker": { "additionalProperties": false, "properties": { "Condition": { @@ -109327,24 +111540,27 @@ "Properties": { "additionalProperties": false, "properties": { - "CollectionName": { - "type": "string" - }, "Description": { "type": "string" }, "KmsKeyId": { "type": "string" + }, + "PositionFiltering": { + "type": "string" + }, + "TrackerName": { + "type": "string" } }, "required": [ - "CollectionName" + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::Location::Tracker" ], "type": "string" }, @@ -109363,7 +111579,7 @@ ], "type": "object" }, - "AWS::Location::Map": { + "AWS::Location::TrackerConsumer": { "additionalProperties": false, "properties": { "Condition": { @@ -109398,28 +111614,22 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { + "ConsumerArn": { "type": "string" }, - "PricingPlan": { + "TrackerName": { "type": "string" } }, "required": [ - "Configuration", - "MapName" + "ConsumerArn", + "TrackerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Map" + "AWS::Location::TrackerConsumer" ], "type": "string" }, @@ -109438,19 +111648,7 @@ ], "type": "object" }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { + "AWS::Logs::AccountPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -109485,31 +111683,29 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSource": { + "PolicyDocument": { "type": "string" }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { + "PolicyName": { "type": "string" }, - "IndexName": { + "PolicyType": { "type": "string" }, - "PricingPlan": { + "Scope": { "type": "string" } }, "required": [ - "DataSource", - "IndexName" + "PolicyDocument", + "PolicyName", + "PolicyType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::PlaceIndex" + "AWS::Logs::AccountPolicy" ], "type": "string" }, @@ -109528,16 +111724,82 @@ ], "type": "object" }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "AWS::Logs::Delivery": { "additionalProperties": false, "properties": { - "IntendedUse": { + "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": { + "DeliveryDestinationArn": { + "type": "string" + }, + "DeliverySourceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeliveryDestinationArn", + "DeliverySourceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Delivery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Location::RouteCalculator": { + "AWS::Logs::DeliveryDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -109572,28 +111834,30 @@ "Properties": { "additionalProperties": false, "properties": { - "CalculatorName": { - "type": "string" + "DeliveryDestinationPolicy": { + "type": "object" }, - "DataSource": { + "DestinationResourceArn": { "type": "string" }, - "Description": { + "Name": { "type": "string" }, - "PricingPlan": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "CalculatorName", - "DataSource" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::RouteCalculator" + "AWS::Logs::DeliveryDestination" ], "type": "string" }, @@ -109612,7 +111876,7 @@ ], "type": "object" }, - "AWS::Location::Tracker": { + "AWS::Logs::DeliverySource": { "additionalProperties": false, "properties": { "Condition": { @@ -109647,27 +111911,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "LogType": { "type": "string" }, - "KmsKeyId": { + "Name": { "type": "string" }, - "PositionFiltering": { + "ResourceArn": { "type": "string" }, - "TrackerName": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "TrackerName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::Tracker" + "AWS::Logs::DeliverySource" ], "type": "string" }, @@ -109686,7 +111953,7 @@ ], "type": "object" }, - "AWS::Location::TrackerConsumer": { + "AWS::Logs::Destination": { "additionalProperties": false, "properties": { "Condition": { @@ -109721,22 +111988,29 @@ "Properties": { "additionalProperties": false, "properties": { - "ConsumerArn": { + "DestinationName": { "type": "string" }, - "TrackerName": { + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { "type": "string" } }, "required": [ - "ConsumerArn", - "TrackerName" + "DestinationName", + "RoleArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Logs::Destination" ], "type": "string" }, @@ -109755,7 +112029,7 @@ ], "type": "object" }, - "AWS::Logs::AccountPolicy": { + "AWS::Logs::LogAnomalyDetector": { "additionalProperties": false, "properties": { "Condition": { @@ -109790,105 +112064,36 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { + "AccountId": { "type": "string" }, - "PolicyName": { + "AnomalyVisibilityTime": { + "type": "number" + }, + "DetectorName": { "type": "string" }, - "PolicyType": { + "EvaluationFrequency": { "type": "string" }, - "Scope": { + "FilterPattern": { "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::AccountPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "KmsKeyId": { "type": "string" }, - { + "LogGroupArnList": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, "type": "array" } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } }, - "required": [ - "DestinationName", - "RoleArn", - "TargetArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Logs::Destination" + "AWS::Logs::LogAnomalyDetector" ], "type": "string" }, @@ -109902,8 +112107,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -109948,6 +112152,9 @@ "KmsKeyId": { "type": "string" }, + "LogGroupClass": { + "type": "string" + }, "LogGroupName": { "type": "string" }, @@ -112705,6 +114912,9 @@ "DagS3Path": { "type": "string" }, + "EndpointManagement": { + "type": "string" + }, "EnvironmentClass": { "type": "string" }, @@ -113273,6 +115483,9 @@ "AccessorType": { "type": "string" }, + "NetworkType": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126742,6 +128955,9 @@ "Name": { "type": "string" }, + "StandbyReplicas": { + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -126778,6 +128994,82 @@ ], "type": "object" }, + "AWS::OpenSearchServerless::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Policy", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpenSearchServerless::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::OpenSearchServerless::SecurityConfig": { "additionalProperties": false, "properties": { @@ -134018,6 +136310,9 @@ "EnrichmentParameters": { "$ref": "#/definitions/AWS::Pipes::Pipe.PipeEnrichmentParameters" }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Pipes::Pipe.PipeLogConfiguration" + }, "Name": { "type": "string" }, @@ -134201,6 +136496,15 @@ ], "type": "object" }, + "AWS::Pipes::Pipe.CloudwatchLogsLogDestination": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.DeadLetterConfig": { "additionalProperties": false, "properties": { @@ -134374,6 +136678,15 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.FirehoseLogDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.MQBrokerAccessCredentials": { "additionalProperties": false, "properties": { @@ -134449,6 +136762,30 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.PipeLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudwatchLogsLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.CloudwatchLogsLogDestination" + }, + "FirehoseLogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.FirehoseLogDestination" + }, + "IncludeExecutionData": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Level": { + "type": "string" + }, + "S3LogDestination": { + "$ref": "#/definitions/AWS::Pipes::Pipe.S3LogDestination" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.PipeSourceActiveMQBrokerParameters": { "additionalProperties": false, "properties": { @@ -134996,6 +137333,24 @@ }, "type": "object" }, + "AWS::Pipes::Pipe.S3LogDestination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Pipes::Pipe.SageMakerPipelineParameter": { "additionalProperties": false, "properties": { @@ -146151,9 +148506,6 @@ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Dashboard.Sheet" @@ -153672,6 +156024,9 @@ }, "NewColumnType": { "type": "string" + }, + "SubType": { + "type": "string" } }, "required": [ @@ -153958,6 +156313,9 @@ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -154133,6 +156491,9 @@ "Name": { "type": "string" }, + "SubType": { + "type": "string" + }, "Type": { "type": "string" } @@ -163033,9 +165394,6 @@ }, "type": "array" }, - "Options": { - "$ref": "#/definitions/AWS::QuickSight::Template.AssetOptions" - }, "Sheets": { "items": { "$ref": "#/definitions/AWS::QuickSight::Template.Sheet" @@ -170164,6 +172522,9 @@ }, "type": "array" }, + "Scope": { + "type": "string" + }, "Tags": { "additionalProperties": true, "patternProperties": { @@ -173206,35 +175567,351 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "OutpostArn": { + "InstanceCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::OutpostResolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverConfig": { + "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": { + "AutodefinedReverseFlag": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "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": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "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": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutpostArn": { + "type": "string" + }, + "PreferredInstanceType": { + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResolverEndpointType": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Ipv6": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "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": { + "DestinationArn": { "type": "string" }, - "PreferredInstanceType": { + "Name": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -173248,12 +175925,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173288,75 +175964,9 @@ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "AutodefinedReverseFlag", - "ResourceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResolverQueryLogConfigId": { "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "ResourceId": { "type": "string" } @@ -173365,7 +175975,7 @@ }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -173383,7 +175993,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -173418,50 +176028,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { + "DomainName": { "type": "string" }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, "Name": { "type": "string" }, - "OutpostArn": { - "type": "string" - }, - "PreferredInstanceType": { + "ResolverEndpointId": { "type": "string" }, - "ResolverEndpointType": { + "RuleType": { "type": "string" }, - "SecurityGroupIds": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" }, - "Tags": { + "TargetIps": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" }, "type": "array" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "DomainName", + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -173480,7 +176080,7 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { "Ip": { @@ -173489,16 +176089,16 @@ "Ipv6": { "type": "string" }, - "SubnetId": { + "Port": { + "type": "string" + }, + "Protocol": { "type": "string" } }, - "required": [ - "SubnetId" - ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -173533,18 +176133,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { + "Name": { "type": "string" }, - "Name": { + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { "type": "string" } }, + "required": [ + "ResolverRuleId", + "VPCId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -173558,11 +176165,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -173597,18 +176205,41 @@ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { "type": "string" }, - "ResourceId": { + "ApplicationArn": { "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee" + }, + "Permission": { + "type": "string" + }, + "S3PrefixType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -173622,11 +176253,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "type": "string" + }, + "GranteeType": { + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -173661,16 +176321,7 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { + "IdentityCenterArn": { "type": "string" }, "Tags": { @@ -173678,23 +176329,13 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" } }, - "required": [ - "DomainName", - "RuleType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -173708,27 +176349,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Ipv6": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -173763,25 +176388,24 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { + "IamRoleArn": { "type": "string" }, - "ResolverRuleId": { + "LocationScope": { "type": "string" }, - "VPCId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, - "required": [ - "ResolverRuleId", - "VPCId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -173795,8 +176419,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -175659,6 +178282,342 @@ }, "type": "object" }, + "AWS::S3::StorageLensGroup": { + "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": { + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Filter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLensGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLensGroup.And": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Filter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And" + }, + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectAge": { + "additionalProperties": false, + "properties": { + "DaysGreaterThan": { + "type": "number" + }, + "DaysLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.MatchObjectSize": { + "additionalProperties": false, + "properties": { + "BytesGreaterThan": { + "type": "number" + }, + "BytesLessThan": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::BucketPolicy": { + "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": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket": { + "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": { + "BucketName": { + "type": "string" + }, + "DataRedundancy": { + "type": "string" + }, + "LocationName": { + "type": "string" + } + }, + "required": [ + "DataRedundancy", + "LocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Express::DirectoryBucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { @@ -182226,9 +185185,15 @@ "DataCaptureConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" }, + "EnableNetworkIsolation": { + "type": "boolean" + }, "EndpointConfigName": { "type": "string" }, + "ExecutionRoleArn": { + "type": "string" + }, "ExplainerConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig" }, @@ -182252,6 +185217,9 @@ "$ref": "#/definitions/Tag" }, "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ @@ -182542,6 +185510,21 @@ }, "type": "object" }, + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { + "additionalProperties": false, + "properties": { + "MaxInstanceCount": { + "type": "number" + }, + "MinInstanceCount": { + "type": "number" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { @@ -182563,12 +185546,18 @@ "InstanceType": { "type": "string" }, + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, "ModelDataDownloadTimeoutInSeconds": { "type": "number" }, "ModelName": { "type": "string" }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, "ServerlessConfig": { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig" }, @@ -182580,12 +185569,19 @@ } }, "required": [ - "InitialVariantWeight", - "ModelName", "VariantName" ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "additionalProperties": false, + "properties": { + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, "AWS::SageMaker::EndpointConfig.ServerlessConfig": { "additionalProperties": false, "properties": { @@ -182605,6 +185601,28 @@ ], "type": "object" }, + "AWS::SageMaker::EndpointConfig.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { @@ -182976,6 +185994,200 @@ ], "type": "object" }, + "AWS::SageMaker::InferenceComponent": { + "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": { + "EndpointArn": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceComponentName": { + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "RuntimeConfig", + "Specification", + "VariantName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.DeployedImage": { + "additionalProperties": false, + "properties": { + "ResolutionTime": { + "type": "string" + }, + "ResolvedImage": { + "type": "string" + }, + "SpecifiedImage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { + "additionalProperties": false, + "properties": { + "MaxMemoryRequiredInMb": { + "type": "number" + }, + "MinMemoryRequiredInMb": { + "type": "number" + }, + "NumberOfAcceleratorDevicesRequired": { + "type": "number" + }, + "NumberOfCpuCoresRequired": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { + "additionalProperties": false, + "properties": { + "ArtifactUrl": { + "type": "string" + }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage" + }, + "Environment": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { + "additionalProperties": false, + "properties": { + "CopyCount": { + "type": "number" + }, + "CurrentCopyCount": { + "type": "number" + }, + "DesiredCopyCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "additionalProperties": false, + "properties": { + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification" + }, + "ModelName": { + "type": "string" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters" + } + }, + "required": [ + "ComputeResourceRequirements" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "additionalProperties": false, + "properties": { + "ContainerStartupHealthCheckTimeoutInSeconds": { + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, "AWS::SageMaker::InferenceExperiment": { "additionalProperties": false, "properties": { @@ -183306,9 +186518,6 @@ "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" } }, - "required": [ - "ExecutionRoleArn" - ], "type": "object" }, "Type": { @@ -183327,8 +186536,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -183353,6 +186561,9 @@ "Mode": { "type": "string" }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource" + }, "ModelDataUrl": { "type": "string" }, @@ -183392,6 +186603,18 @@ ], "type": "object" }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, "AWS::SageMaker::Model.MultiModelConfig": { "additionalProperties": false, "properties": { @@ -183413,6 +186636,26 @@ ], "type": "object" }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "type": "string" + }, + "S3DataType": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, "AWS::SageMaker::Model.VpcConfig": { "additionalProperties": false, "properties": { @@ -196819,6 +200062,9 @@ }, "type": "array" }, + "S3StorageOptions": { + "$ref": "#/definitions/AWS::Transfer::Server.S3StorageOptions" + }, "SecurityPolicyName": { "type": "string" }, @@ -196942,6 +200188,15 @@ }, "type": "object" }, + "AWS::Transfer::Server.S3StorageOptions": { + "additionalProperties": false, + "properties": { + "DirectoryListingOptimization": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Transfer::Server.StructuredLogDestination": { "additionalProperties": false, "properties": {}, @@ -197092,6 +200347,9 @@ }, "Target": { "type": "string" + }, + "Type": { + "type": "string" } }, "required": [ @@ -205869,6 +209127,9 @@ { "$ref": "#/definitions/AWS::APS::Workspace" }, + { + "$ref": "#/definitions/AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + }, { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, @@ -206202,6 +209463,12 @@ { "$ref": "#/definitions/AWS::Backup::ReportPlan" }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::RestoreTestingSelection" + }, { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, @@ -206448,6 +209715,12 @@ { "$ref": "#/definitions/AWS::CodeStarConnections::Connection" }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::RepositoryLink" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::SyncConfiguration" + }, { "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" }, @@ -206601,6 +209874,9 @@ { "$ref": "#/definitions/AWS::ControlTower::EnabledControl" }, + { + "$ref": "#/definitions/AWS::ControlTower::LandingZone" + }, { "$ref": "#/definitions/AWS::CustomerProfiles::CalculatedAttributeDefinition" }, @@ -206748,6 +210024,9 @@ { "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" }, + { + "$ref": "#/definitions/AWS::DocDB::EventSubscription" + }, { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, @@ -207093,6 +210372,9 @@ { "$ref": "#/definitions/AWS::EKS::Nodegroup" }, + { + "$ref": "#/definitions/AWS::EKS::PodIdentityAssociation" + }, { "$ref": "#/definitions/AWS::EMR::Cluster" }, @@ -207141,6 +210423,9 @@ { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" }, + { + "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" + }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -207180,6 +210465,12 @@ { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStore" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + }, { "$ref": "#/definitions/AWS::Elasticsearch::Domain" }, @@ -207570,6 +210861,9 @@ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, + { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -207975,9 +211269,21 @@ { "$ref": "#/definitions/AWS::Logs::AccountPolicy" }, + { + "$ref": "#/definitions/AWS::Logs::Delivery" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliveryDestination" + }, + { + "$ref": "#/definitions/AWS::Logs::DeliverySource" + }, { "$ref": "#/definitions/AWS::Logs::Destination" }, + { + "$ref": "#/definitions/AWS::Logs::LogAnomalyDetector" + }, { "$ref": "#/definitions/AWS::Logs::LogGroup" }, @@ -208290,6 +211596,9 @@ { "$ref": "#/definitions/AWS::OpenSearchServerless::Collection" }, + { + "$ref": "#/definitions/AWS::OpenSearchServerless::LifecyclePolicy" + }, { "$ref": "#/definitions/AWS::OpenSearchServerless::SecurityConfig" }, @@ -208719,6 +212028,15 @@ { "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" }, + { + "$ref": "#/definitions/AWS::S3::AccessGrant" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsInstance" + }, + { + "$ref": "#/definitions/AWS::S3::AccessGrantsLocation" + }, { "$ref": "#/definitions/AWS::S3::AccessPoint" }, @@ -208737,6 +212055,15 @@ { "$ref": "#/definitions/AWS::S3::StorageLens" }, + { + "$ref": "#/definitions/AWS::S3::StorageLensGroup" + }, + { + "$ref": "#/definitions/AWS::S3Express::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket" + }, { "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" }, @@ -208899,6 +212226,9 @@ { "$ref": "#/definitions/AWS::SageMaker::ImageVersion" }, + { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent" + }, { "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment" },