diff --git a/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json b/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json index 5a68fec174..46081a40f1 100644 --- a/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json +++ b/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json @@ -88,7 +88,7 @@ "type" : "object", "properties" : { "UnusedAccessAge" : { - "description" : "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.", + "description" : "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.", "type" : "integer", "minimum" : 1, "maximum" : 180 diff --git a/aws-cloudformation-schema/aws-appsync-graphqlapi.json b/aws-cloudformation-schema/aws-appsync-graphqlapi.json index 3f99039dbb..e786c42895 100644 --- a/aws-cloudformation-schema/aws-appsync-graphqlapi.json +++ b/aws-cloudformation-schema/aws-appsync-graphqlapi.json @@ -65,6 +65,9 @@ "$ref" : "#/definitions/Tag" } }, + "GraphQLEndpointArn" : { + "type" : "string" + }, "AuthenticationType" : { "type" : "string" }, @@ -189,5 +192,5 @@ }, "required" : [ "Name", "AuthenticationType" ], "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/ApiId", "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", "/properties/RealtimeUrl", "/properties/Arn" ] + "readOnlyProperties" : [ "/properties/ApiId", "/properties/GraphQLEndpointArn", "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", "/properties/RealtimeUrl", "/properties/Arn" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json b/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json index 12b4826184..9b51078b03 100644 --- a/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json +++ b/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json @@ -21,11 +21,11 @@ "permissions" : [ "autoscaling:*", "managed-fleets:GetAutoScalingGroup" ] }, "create" : { - "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribePlacementGroups", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSubnets", "ec2:DescribeVpcClassicLink", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:CreateAutoScalingGroup", "ssm:GetParameters" ], + "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:Describe*", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:CreateAutoScalingGroup", "ssm:GetParameters" ], "timeoutInMinutes" : 120 }, "update" : { - "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribePlacementGroups", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSubnets", "ec2:DescribeVpcClassicLink", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:RegisterAutoScalingGroup", "managed-fleets:DeregisterAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", "ssm:GetParameters" ], + "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:Describe*", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:RegisterAutoScalingGroup", "managed-fleets:DeregisterAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", "ssm:GetParameters" ], "timeoutInMinutes" : 480 }, "list" : { @@ -448,7 +448,8 @@ "TotalLocalStorageGB" : { "$ref" : "#/definitions/TotalLocalStorageGBRequest" } - } + }, + "required" : [ "MemoryMiB", "VCpuCount" ] } }, "properties" : { diff --git a/aws-cloudformation-schema/aws-billingconductor-customlineitem.json b/aws-cloudformation-schema/aws-billingconductor-customlineitem.json index 646877255c..b4c8bffdef 100644 --- a/aws-cloudformation-schema/aws-billingconductor-customlineitem.json +++ b/aws-cloudformation-schema/aws-billingconductor-customlineitem.json @@ -180,6 +180,11 @@ "type" : "string", "enum" : [ "USD", "CNY" ] }, + "AccountId" : { + "type" : "string", + "description" : "The account which this custom line item will be charged to", + "pattern" : "[0-9]{12}" + }, "Tags" : { "type" : "array", "uniqueItems" : true, @@ -199,7 +204,7 @@ }, "required" : [ "Name", "BillingGroupArn" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/CreationTime", "/properties/LastModifiedTime", "/properties/AssociationSize", "/properties/CurrencyCode", "/properties/ProductCode" ], - "createOnlyProperties" : [ "/properties/BillingGroupArn", "/properties/BillingPeriodRange/InclusiveStartBillingPeriod", "/properties/BillingPeriodRange/ExclusiveEndBillingPeriod", "/properties/CustomLineItemChargeDetails/Type" ], + "createOnlyProperties" : [ "/properties/BillingGroupArn", "/properties/AccountId", "/properties/BillingPeriodRange/InclusiveStartBillingPeriod", "/properties/BillingPeriodRange/ExclusiveEndBillingPeriod", "/properties/CustomLineItemChargeDetails/Type" ], "primaryIdentifier" : [ "/properties/Arn" ], "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-cleanrooms-collaboration.json b/aws-cloudformation-schema/aws-cleanrooms-collaboration.json index f5d34ffc2c..0257ce171e 100644 --- a/aws-cloudformation-schema/aws-cleanrooms-collaboration.json +++ b/aws-cloudformation-schema/aws-cleanrooms-collaboration.json @@ -52,6 +52,9 @@ }, "DisplayName" : { "$ref" : "#/definitions/Name" + }, + "PaymentConfiguration" : { + "$ref" : "#/definitions/PaymentConfiguration" } }, "required" : [ "AccountId", "DisplayName", "MemberAbilities" ], @@ -83,6 +86,26 @@ "maxLength" : 100, "minLength" : 1, "pattern" : "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$" + }, + "PaymentConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "QueryCompute" : { + "$ref" : "#/definitions/QueryComputePaymentConfig" + } + }, + "required" : [ "QueryCompute" ] + }, + "QueryComputePaymentConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "IsResponsible" : { + "type" : "boolean" + } + }, + "required" : [ "IsResponsible" ] } }, "properties" : { @@ -137,11 +160,14 @@ }, "QueryLogStatus" : { "$ref" : "#/definitions/CollaborationQueryLogStatus" + }, + "CreatorPaymentConfiguration" : { + "$ref" : "#/definitions/PaymentConfiguration" } }, "required" : [ "CreatorDisplayName", "CreatorMemberAbilities", "Members", "Name", "Description", "QueryLogStatus" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/CollaborationIdentifier" ], - "createOnlyProperties" : [ "/properties/CreatorDisplayName", "/properties/CreatorMemberAbilities", "/properties/DataEncryptionMetadata", "/properties/QueryLogStatus", "/properties/Members" ], + "createOnlyProperties" : [ "/properties/CreatorDisplayName", "/properties/CreatorMemberAbilities", "/properties/DataEncryptionMetadata", "/properties/QueryLogStatus", "/properties/Members", "/properties/CreatorPaymentConfiguration" ], "primaryIdentifier" : [ "/properties/CollaborationIdentifier" ], "tagging" : { "taggable" : true, diff --git a/aws-cloudformation-schema/aws-cleanrooms-membership.json b/aws-cloudformation-schema/aws-cleanrooms-membership.json index 9d8add754e..5ec2550953 100644 --- a/aws-cloudformation-schema/aws-cleanrooms-membership.json +++ b/aws-cloudformation-schema/aws-cleanrooms-membership.json @@ -73,6 +73,26 @@ } }, "required" : [ "OutputConfiguration" ] + }, + "MembershipPaymentConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "QueryCompute" : { + "$ref" : "#/definitions/MembershipQueryComputePaymentConfig" + } + }, + "required" : [ "QueryCompute" ] + }, + "MembershipQueryComputePaymentConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "IsResponsible" : { + "type" : "boolean" + } + }, + "required" : [ "IsResponsible" ] } }, "properties" : { @@ -116,6 +136,9 @@ }, "DefaultResultConfiguration" : { "$ref" : "#/definitions/MembershipProtectedQueryResultConfiguration" + }, + "PaymentConfiguration" : { + "$ref" : "#/definitions/MembershipPaymentConfiguration" } }, "required" : [ "CollaborationIdentifier", "QueryLogStatus" ], diff --git a/aws-cloudformation-schema/aws-cloud9-environmentec2.json b/aws-cloudformation-schema/aws-cloud9-environmentec2.json index 0b3e236394..c805aac978 100644 --- a/aws-cloudformation-schema/aws-cloud9-environmentec2.json +++ b/aws-cloudformation-schema/aws-cloud9-environmentec2.json @@ -76,7 +76,7 @@ "required" : [ "Value", "Key" ] } }, - "required" : [ "InstanceType" ], + "required" : [ "ImageId", "InstanceType" ], "createOnlyProperties" : [ "/properties/AutomaticStopTimeMinutes", "/properties/OwnerArn", "/properties/ConnectionType", "/properties/InstanceType", "/properties/ImageId", "/properties/SubnetId", "/properties/Repositories" ], "primaryIdentifier" : [ "/properties/Id" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ] diff --git a/aws-cloudformation-schema/aws-cloudfront-keyvaluestore.json b/aws-cloudformation-schema/aws-cloudfront-keyvaluestore.json new file mode 100644 index 0000000000..82a78d4011 --- /dev/null +++ b/aws-cloudformation-schema/aws-cloudfront-keyvaluestore.json @@ -0,0 +1,68 @@ +{ + "additionalProperties" : false, + "definitions" : { + "ImportSource" : { + "additionalProperties" : false, + "properties" : { + "SourceType" : { + "type" : "string" + }, + "SourceArn" : { + "type" : "string" + } + }, + "required" : [ "SourceType", "SourceArn" ], + "type" : "object" + } + }, + "description" : "Resource Type definition for AWS::CloudFront::KeyValueStore", + "handlers" : { + "create" : { + "permissions" : [ "cloudfront:CreateKeyValueStore", "cloudfront:DescribeKeyValueStore", "s3:GetObject", "s3:HeadObject", "s3:GetBucketLocation" ] + }, + "delete" : { + "permissions" : [ "cloudfront:DeleteKeyValueStore", "cloudfront:DescribeKeyValueStore" ] + }, + "list" : { + "permissions" : [ "cloudfront:ListKeyValueStores" ] + }, + "read" : { + "permissions" : [ "cloudfront:DescribeKeyValueStore" ] + }, + "update" : { + "permissions" : [ "cloudfront:UpdateKeyValueStore", "cloudfront:DescribeKeyValueStore" ] + } + }, + "properties" : { + "Arn" : { + "type" : "string" + }, + "Id" : { + "type" : "string" + }, + "Status" : { + "type" : "string" + }, + "Name" : { + "type" : "string" + }, + "Comment" : { + "type" : "string" + }, + "ImportSource" : { + "$ref" : "#/definitions/ImportSource" + } + }, + "primaryIdentifier" : [ "/properties/Name" ], + "createOnlyProperties" : [ "/properties/Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/Id", "/properties/Status" ], + "writeOnlyProperties" : [ "/properties/ImportSource" ], + "required" : [ "Name" ], + "tagging" : { + "cloudFormationSystemTags" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "taggable" : false + }, + "typeName" : "AWS::CloudFront::KeyValueStore" +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json b/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json index 00f830307f..23b7dc5496 100644 --- a/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json +++ b/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json @@ -169,6 +169,14 @@ "description" : "The ARN of the event data store.", "type" : "string" }, + "FederationEnabled" : { + "description" : "Indicates whether federation is enabled on an event data store.", + "type" : "boolean" + }, + "FederationRoleArn" : { + "description" : "The ARN of the role used for event data store federation.", + "type" : "string" + }, "MultiRegionEnabled" : { "description" : "Indicates whether the event data store includes events from all regions, or only from the region in which it was created.", "type" : "boolean" @@ -232,23 +240,23 @@ } }, "required" : [ ], - "readOnlyProperties" : [ "/properties/EventDataStoreArn", "/properties/CreatedTimestamp", "/properties/UpdatedTimestamp", "/properties/Status" ], + "readOnlyProperties" : [ "/properties/EventDataStoreArn", "/properties/CreatedTimestamp", "/properties/UpdatedTimestamp", "/properties/Status", "/properties/FederationStatus" ], "primaryIdentifier" : [ "/properties/EventDataStoreArn" ], "propertyTransform" : { "/properties/KmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])" }, "handlers" : { "create" : { - "permissions" : [ "CloudTrail:CreateEventDataStore", "CloudTrail:AddTags", "CloudTrail:PutInsightSelectors", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "kms:GenerateDataKey", "kms:Decrypt" ] + "permissions" : [ "CloudTrail:CreateEventDataStore", "CloudTrail:AddTags", "CloudTrail:PutInsightSelectors", "CloudTrail:EnableFederation", "CloudTrail:GetEventDataStore", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "kms:GenerateDataKey", "kms:Decrypt", "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection", "lakeformation:RegisterResource" ] }, "read" : { "permissions" : [ "CloudTrail:GetEventDataStore", "CloudTrail:ListEventDataStores", "CloudTrail:GetInsightSelectors", "CloudTrail:ListTags" ] }, "update" : { - "permissions" : [ "CloudTrail:UpdateEventDataStore", "CloudTrail:RestoreEventDataStore", "CloudTrail:AddTags", "CloudTrail:RemoveTags", "CloudTrail:StartEventDataStoreIngestion", "CloudTrail:StopEventDataStoreIngestion", "CloudTrail:GetEventDataStore", "CloudTrail:PutInsightSelectors", "CloudTrail:GetInsightSelectors", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ] + "permissions" : [ "CloudTrail:UpdateEventDataStore", "CloudTrail:RestoreEventDataStore", "CloudTrail:AddTags", "CloudTrail:RemoveTags", "CloudTrail:StartEventDataStoreIngestion", "CloudTrail:StopEventDataStoreIngestion", "CloudTrail:GetEventDataStore", "CloudTrail:PutInsightSelectors", "CloudTrail:GetInsightSelectors", "CloudTrail:EnableFederation", "CloudTrail:DisableFederation", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection", "lakeformation:RegisterResource", "glue:DeleteTable", "lakeformation:DeregisterResource" ] }, "delete" : { - "permissions" : [ "CloudTrail:DeleteEventDataStore", "CloudTrail:GetEventDataStore" ] + "permissions" : [ "CloudTrail:DeleteEventDataStore", "CloudTrail:GetEventDataStore", "CloudTrail:DisableFederation", "glue:DeleteTable", "lakeformation:DeregisterResource" ] }, "list" : { "permissions" : [ "CloudTrail:ListEventDataStores", "CloudTrail:GetEventDataStore", "CloudTrail:GetInsightSelectors", "CloudTrail:ListTags" ] diff --git a/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json b/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json index 54943dd6f7..9b3e87bbfd 100644 --- a/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json +++ b/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json @@ -1,34 +1,11 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codedeploy", - "tagging" : { - "taggable" : false, - "tagOnCreate" : false, - "tagUpdatable" : false, - "cloudFormationSystemTags" : false - }, - "handlers" : { - "read" : { - "permissions" : [ "codedeploy:GetDeploymentConfig" ] - }, - "create" : { - "permissions" : [ "codedeploy:CreateDeploymentConfig" ] - }, - "list" : { - "permissions" : [ "codedeploy:ListDeploymentConfigs" ] - }, - "delete" : { - "permissions" : [ "codedeploy:GetDeploymentConfig", "codedeploy:DeleteDeploymentConfig" ] - } - }, "typeName" : "AWS::CodeDeploy::DeploymentConfig", "description" : "Resource Type definition for AWS::CodeDeploy::DeploymentConfig", - "createOnlyProperties" : [ "/properties/DeploymentConfigName", "/properties/MinimumHealthyHosts", "/properties/ComputePlatform", "/properties/TrafficRoutingConfig" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/DeploymentConfigName" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codedeploy", "definitions" : { "TimeBasedLinear" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "LinearInterval" : { "type" : "integer" @@ -40,8 +17,8 @@ "required" : [ "LinearInterval", "LinearPercentage" ] }, "TimeBasedCanary" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "CanaryPercentage" : { "type" : "integer" @@ -53,8 +30,8 @@ "required" : [ "CanaryPercentage", "CanaryInterval" ] }, "TrafficRoutingConfig" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Type" : { "type" : "string" @@ -68,15 +45,46 @@ }, "required" : [ "Type" ] }, - "MinimumHealthyHosts" : { - "additionalProperties" : false, + "MinimumHealthyHostsPerZone" : { "type" : "object", + "additionalProperties" : false, "properties" : { + "Value" : { + "type" : "integer" + }, "Type" : { "type" : "string" + } + }, + "required" : [ "Type", "Value" ] + }, + "ZonalConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "FirstZoneMonitorDurationInSeconds" : { + "type" : "integer", + "format" : "int64" + }, + "MonitorDurationInSeconds" : { + "type" : "integer", + "format" : "int64" }, + "MinimumHealthyHostsPerZone" : { + "$ref" : "#/definitions/MinimumHealthyHostsPerZone" + } + }, + "required" : [ ] + }, + "MinimumHealthyHosts" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { "Value" : { "type" : "integer" + }, + "Type" : { + "type" : "string" } }, "required" : [ "Type", "Value" ] @@ -91,13 +99,40 @@ "description" : "A name for the deployment configuration. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see Name Type.", "type" : "string" }, + "MinimumHealthyHosts" : { + "description" : "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.", + "$ref" : "#/definitions/MinimumHealthyHosts" + }, + "ZonalConfig" : { + "description" : "The zonal deployment config that specifies how the zonal deployment behaves", + "$ref" : "#/definitions/ZonalConfig" + }, "TrafficRoutingConfig" : { "description" : "The configuration that specifies how the deployment traffic is routed.", "$ref" : "#/definitions/TrafficRoutingConfig" + } + }, + "additionalProperties" : false, + "createOnlyProperties" : [ "/properties/DeploymentConfigName", "/properties/MinimumHealthyHosts", "/properties/ComputePlatform", "/properties/ZonalConfig", "/properties/TrafficRoutingConfig" ], + "primaryIdentifier" : [ "/properties/DeploymentConfigName" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "handlers" : { + "create" : { + "permissions" : [ "codedeploy:CreateDeploymentConfig" ] }, - "MinimumHealthyHosts" : { - "description" : "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.", - "$ref" : "#/definitions/MinimumHealthyHosts" + "read" : { + "permissions" : [ "codedeploy:GetDeploymentConfig" ] + }, + "delete" : { + "permissions" : [ "codedeploy:GetDeploymentConfig", "codedeploy:DeleteDeploymentConfig" ] + }, + "list" : { + "permissions" : [ "codedeploy:ListDeploymentConfigs" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-codepipeline-pipeline.json b/aws-cloudformation-schema/aws-codepipeline-pipeline.json index 43545da03f..d320bd9892 100644 --- a/aws-cloudformation-schema/aws-codepipeline-pipeline.json +++ b/aws-cloudformation-schema/aws-codepipeline-pipeline.json @@ -10,12 +10,6 @@ "$ref" : "#/definitions/ArtifactStoreMap" } }, - "Version" : { - "type" : "string" - }, - "ArtifactStore" : { - "$ref" : "#/definitions/ArtifactStore" - }, "DisableInboundStageTransitions" : { "type" : "array", "uniqueItems" : true, @@ -33,97 +27,185 @@ "RestartExecutionOnUpdate" : { "type" : "boolean" }, - "Id" : { - "type" : "string" + "Triggers" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/PipelineTriggerDeclaration" + } }, "RoleArn" : { "type" : "string" }, + "Name" : { + "type" : "string" + }, + "Variables" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/VariableDeclaration" + } + }, + "Version" : { + "type" : "string" + }, + "ArtifactStore" : { + "$ref" : "#/definitions/ArtifactStore" + }, + "PipelineType" : { + "type" : "string" + }, + "Id" : { + "type" : "string" + }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/Tag" } - }, - "Name" : { - "type" : "string" } }, "definitions" : { - "ActionDeclaration" : { + "BlockerDeclaration" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ActionTypeId" : { - "$ref" : "#/definitions/ActionTypeId" - }, - "Configuration" : { - "type" : "object" + "Type" : { + "type" : "string" }, - "InputArtifacts" : { + "Name" : { + "type" : "string" + } + }, + "required" : [ "Type", "Name" ] + }, + "GitConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Push" : { "type" : "array", "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/InputArtifact" + "$ref" : "#/definitions/GitPushFilter" } }, - "OutputArtifacts" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/OutputArtifact" - } + "SourceActionName" : { + "type" : "string" + } + }, + "required" : [ "SourceActionName" ] + }, + "ActionTypeId" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Owner" : { + "type" : "string" }, - "Region" : { + "Category" : { "type" : "string" }, - "Namespace" : { + "Version" : { "type" : "string" }, - "RoleArn" : { + "Provider" : { "type" : "string" + } + }, + "required" : [ "Owner", "Category", "Version", "Provider" ] + }, + "ArtifactStoreMap" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ArtifactStore" : { + "$ref" : "#/definitions/ArtifactStore" }, - "RunOrder" : { - "type" : "integer" + "Region" : { + "type" : "string" + } + }, + "required" : [ "ArtifactStore", "Region" ] + }, + "PipelineTriggerDeclaration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "GitConfiguration" : { + "$ref" : "#/definitions/GitConfiguration" }, - "Name" : { + "ProviderType" : { "type" : "string" } }, - "required" : [ "ActionTypeId", "Name" ] + "required" : [ "ProviderType" ] }, - "BlockerDeclaration" : { + "EncryptionKey" : { "type" : "object", "additionalProperties" : false, "properties" : { "Type" : { "type" : "string" }, - "Name" : { + "Id" : { "type" : "string" } }, - "required" : [ "Type", "Name" ] + "required" : [ "Type", "Id" ] }, - "ActionTypeId" : { + "GitPushFilter" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Owner" : { + "Tags" : { + "$ref" : "#/definitions/GitTagFilterCriteria" + } + } + }, + "ActionDeclaration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ActionTypeId" : { + "$ref" : "#/definitions/ActionTypeId" + }, + "Configuration" : { + "type" : "object" + }, + "InputArtifacts" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/InputArtifact" + } + }, + "OutputArtifacts" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/OutputArtifact" + } + }, + "Region" : { "type" : "string" }, - "Category" : { + "Namespace" : { "type" : "string" }, - "Version" : { + "RoleArn" : { "type" : "string" }, - "Provider" : { + "RunOrder" : { + "type" : "integer" + }, + "Name" : { "type" : "string" } }, - "required" : [ "Owner", "Category", "Version", "Provider" ] + "required" : [ "ActionTypeId", "Name" ] }, "StageDeclaration" : { "type" : "object", @@ -175,18 +257,21 @@ }, "required" : [ "Type", "Location" ] }, - "ArtifactStoreMap" : { + "VariableDeclaration" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ArtifactStore" : { - "$ref" : "#/definitions/ArtifactStore" + "DefaultValue" : { + "type" : "string" }, - "Region" : { + "Description" : { + "type" : "string" + }, + "Name" : { "type" : "string" } }, - "required" : [ "ArtifactStore", "Region" ] + "required" : [ "Name" ] }, "StageTransition" : { "type" : "object", @@ -201,18 +286,25 @@ }, "required" : [ "StageName", "Reason" ] }, - "EncryptionKey" : { + "GitTagFilterCriteria" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Type" : { - "type" : "string" + "Includes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } }, - "Id" : { - "type" : "string" + "Excludes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } } - }, - "required" : [ "Type", "Id" ] + } }, "Tag" : { "type" : "object", diff --git a/aws-cloudformation-schema/aws-config-configurationrecorder.json b/aws-cloudformation-schema/aws-config-configurationrecorder.json index 826ecb5fe7..225555ead8 100644 --- a/aws-cloudformation-schema/aws-config-configurationrecorder.json +++ b/aws-cloudformation-schema/aws-config-configurationrecorder.json @@ -9,6 +9,9 @@ "RecordingGroup" : { "$ref" : "#/definitions/RecordingGroup" }, + "RecordingMode" : { + "$ref" : "#/definitions/RecordingMode" + }, "RoleARN" : { "type" : "string" }, @@ -41,6 +44,26 @@ }, "required" : [ "ResourceTypes" ] }, + "RecordingModeOverride" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ResourceTypes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } + }, + "RecordingFrequency" : { + "type" : "string" + }, + "Description" : { + "type" : "string" + } + }, + "required" : [ "ResourceTypes", "RecordingFrequency" ] + }, "RecordingGroup" : { "type" : "object", "additionalProperties" : false, @@ -65,6 +88,23 @@ "type" : "boolean" } } + }, + "RecordingMode" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RecordingModeOverrides" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/RecordingModeOverride" + } + }, + "RecordingFrequency" : { + "type" : "string" + } + }, + "required" : [ "RecordingFrequency" ] } }, "required" : [ "RoleARN" ], diff --git a/aws-cloudformation-schema/aws-connect-instance.json b/aws-cloudformation-schema/aws-connect-instance.json index b3f2db3ff1..3213bdbb7c 100644 --- a/aws-cloudformation-schema/aws-connect-instance.json +++ b/aws-cloudformation-schema/aws-connect-instance.json @@ -58,6 +58,26 @@ } }, "required" : [ "InboundCalls", "OutboundCalls" ] + }, + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false } }, "properties" : { @@ -106,32 +126,42 @@ "Attributes" : { "description" : "The attributes for the instance.", "$ref" : "#/definitions/Attributes" + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } } }, - "tagging" : { - "taggable" : false, - "tagOnCreate" : false, - "tagUpdatable" : false, - "cloudFormationSystemTags" : false - }, "additionalProperties" : false, "required" : [ "IdentityManagementType", "Attributes" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/ServiceRole", "/properties/CreatedTime", "/properties/InstanceStatus" ], "createOnlyProperties" : [ "/properties/DirectoryId", "/properties/InstanceAlias", "/properties/IdentityManagementType" ], "writeOnlyProperties" : [ "/properties/DirectoryId" ], "primaryIdentifier" : [ "/properties/Arn" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, "handlers" : { "create" : { - "permissions" : [ "connect:CreateInstance", "connect:DescribeInstance", "connect:UpdateInstanceAttribute", "ds:CheckAlias", "ds:CreateAlias", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:CreateIdentityPoolDirectory", "ds:CreateDirectory", "ds:DescribeDirectories", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy", "logs:CreateLogGroup" ] + "permissions" : [ "connect:CreateInstance", "connect:DescribeInstance", "connect:UpdateInstanceAttribute", "connect:TagResource", "ds:CheckAlias", "ds:CreateAlias", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:CreateIdentityPoolDirectory", "ds:CreateDirectory", "ds:DescribeDirectories", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy", "logs:CreateLogGroup" ] }, "read" : { "permissions" : [ "connect:DescribeInstance", "connect:ListInstanceAttributes", "ds:DescribeDirectories" ] }, "update" : { - "permissions" : [ "connect:ListInstanceAttributes", "connect:UpdateInstanceAttribute", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ] + "permissions" : [ "connect:ListInstanceAttributes", "connect:UpdateInstanceAttribute", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy", "connect:TagResource", "connect:UntagResource" ] }, "delete" : { - "permissions" : [ "connect:DeleteInstance", "connect:DescribeInstance", "ds:DeleteDirectory", "ds:UnauthorizeApplication", "ds:DescribeDirectories" ] + "permissions" : [ "connect:DeleteInstance", "connect:DescribeInstance", "connect:UntagResource", "ds:DeleteDirectory", "ds:UnauthorizeApplication", "ds:DescribeDirectories" ] }, "list" : { "permissions" : [ "connect:ListInstances", "connect:ListInstanceAttributes", "ds:DescribeDirectories" ] diff --git a/aws-cloudformation-schema/aws-connect-instancestorageconfig.json b/aws-cloudformation-schema/aws-connect-instancestorageconfig.json index 4106a6a2e3..d62bf14236 100644 --- a/aws-cloudformation-schema/aws-connect-instancestorageconfig.json +++ b/aws-cloudformation-schema/aws-connect-instancestorageconfig.json @@ -100,7 +100,7 @@ "$ref" : "#/definitions/EncryptionConfig" } }, - "required" : [ "Prefix", "RetentionPeriodHours" ] + "required" : [ "Prefix", "RetentionPeriodHours", "EncryptionConfig" ] }, "KinesisStreamConfig" : { "type" : "object", diff --git a/aws-cloudformation-schema/aws-connect-integrationassociation.json b/aws-cloudformation-schema/aws-connect-integrationassociation.json index 9ff22d58a9..6ae28592e1 100644 --- a/aws-cloudformation-schema/aws-connect-integrationassociation.json +++ b/aws-cloudformation-schema/aws-connect-integrationassociation.json @@ -12,7 +12,7 @@ "IntegrationType" : { "description" : "Specifies the integration type to be associated with the instance", "type" : "string", - "enum" : [ "LEX_BOT", "LAMBDA_FUNCTION" ] + "enum" : [ "LEX_BOT", "LAMBDA_FUNCTION", "APPLICATION" ] }, "InstanceId" : { "description" : "Amazon Connect instance identifier", @@ -54,19 +54,19 @@ "primaryIdentifier" : [ "/properties/InstanceId", "/properties/IntegrationType", "/properties/IntegrationArn" ], "handlers" : { "create" : { - "permissions" : [ "connect:AssociateBot", "connect:AssociateLambdaFunction", "connect:ListBots", "connect:ListLambdaFunctions", "lambda:addPermission", "lex:GetBot", "lex:DescribeBotAlias", "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:CreateResourcePolicyStatement", "lambda:AddPermission", "iam:PutRolePolicy" ] + "permissions" : [ "connect:DescribeInstance", "ds:DescribeDirectories", "app-integrations:CreateEventIntegrationAssociation", "mobiletargeting:GetApp", "cases:GetDomain", "wisdom:GetAssistant", "wisdom:GetKnowledgeBase", "wisdom:TagResource", "voiceid:DescribeDomain", "events:PutTargets", "events:PutRule", "connect:AssociateBot", "connect:AssociateLambdaFunction", "connect:CreateIntegrationAssociation", "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations", "lambda:addPermission", "lex:GetBot", "lex:DescribeBotAlias", "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:CreateResourcePolicyStatement", "lambda:AddPermission", "app-integrations:GetApplication", "iam:AttachRolePolicy", "iam:CreateServiceLinkedRole", "iam:GetRolePolicy", "iam:PutRolePolicy" ] }, "read" : { - "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions" ] + "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations" ] }, "update" : { "permissions" : [ ] }, "delete" : { - "permissions" : [ "connect:DisassociateBot", "connect:DisassociateLambdaFunction", "connect:ListBots", "connect:ListLambdaFunctions", "lex:DeleteResourcePolicy", "lex:DeleteResourcePolicyStatement", "lambda:RemovePermission", "iam:PutRolePolicy" ] + "permissions" : [ "connect:DescribeInstance", "ds:DescribeDirectories", "app-integrations:DeleteEventIntegrationAssociation", "events:ListTargetsByRule", "events:RemoveTargets", "events:DeleteRule", "connect:DisassociateBot", "connect:DisassociateLambdaFunction", "connect:DeleteIntegrationAssociation", "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations", "lex:DeleteResourcePolicy", "lex:DeleteResourcePolicyStatement", "lambda:RemovePermission", "iam:GetRolePolicy", "iam:DeleteRolePolicy", "iam:PutRolePolicy" ] }, "list" : { - "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions" ] + "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-devicefarm-devicepool.json b/aws-cloudformation-schema/aws-devicefarm-devicepool.json index 885e8806f7..984696c3cb 100644 --- a/aws-cloudformation-schema/aws-devicefarm-devicepool.json +++ b/aws-cloudformation-schema/aws-devicefarm-devicepool.json @@ -96,16 +96,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateDevicePool", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateDevicePool", "devicefarm:TagResource", "devicefarm:GetDevicePool", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetDevicePool", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateDevicePool", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateDevicePool", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetDevicePool" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteDevicePool" ] + "permissions" : [ "devicefarm:DeleteDevicePool", "devicefarm:GetDevicePool", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListDevicePools" ], diff --git a/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json b/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json index 29cc15a942..90ee0f4c60 100644 --- a/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json +++ b/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json @@ -71,16 +71,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateInstanceProfile", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateInstanceProfile", "devicefarm:TagResource", "devicefarm:GetInstanceProfile", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetInstanceProfile", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateInstanceProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateInstanceProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetInstanceProfile" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteInstanceProfile" ] + "permissions" : [ "devicefarm:DeleteInstanceProfile", "devicefarm:UntagResource", "devicefarm:GetInstanceProfile", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListInstanceProfiles" ] diff --git a/aws-cloudformation-schema/aws-devicefarm-networkprofile.json b/aws-cloudformation-schema/aws-devicefarm-networkprofile.json index 2066215b71..e5648f8fbc 100644 --- a/aws-cloudformation-schema/aws-devicefarm-networkprofile.json +++ b/aws-cloudformation-schema/aws-devicefarm-networkprofile.json @@ -104,16 +104,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateNetworkProfile", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateNetworkProfile", "devicefarm:TagResource", "devicefarm:GetNetworkProfile", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetNetworkProfile", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateNetworkProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateNetworkProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetNetworkProfile" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteNetworkProfile", "devicefarm:UntagResource" ] + "permissions" : [ "devicefarm:DeleteNetworkProfile", "devicefarm:UntagResource", "devicefarm:GetNetworkProfile", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListNetworkProfiles" ], diff --git a/aws-cloudformation-schema/aws-devicefarm-project.json b/aws-cloudformation-schema/aws-devicefarm-project.json index 5a6baa749a..320d8abd50 100644 --- a/aws-cloudformation-schema/aws-devicefarm-project.json +++ b/aws-cloudformation-schema/aws-devicefarm-project.json @@ -100,16 +100,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateProject", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateProject", "devicefarm:TagResource", "devicefarm:GetProject", "devicefarm:ListTagsForResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] }, "read" : { "permissions" : [ "devicefarm:GetProject", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetProject", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteProject" ] + "permissions" : [ "devicefarm:DeleteProject", "devicefarm:UntagResource", "devicefarm:GetProject", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListProjects" ] diff --git a/aws-cloudformation-schema/aws-devicefarm-testgridproject.json b/aws-cloudformation-schema/aws-devicefarm-testgridproject.json index 9ed1aeba8e..5449bb6d49 100644 --- a/aws-cloudformation-schema/aws-devicefarm-testgridproject.json +++ b/aws-cloudformation-schema/aws-devicefarm-testgridproject.json @@ -102,16 +102,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateTestGridProject", "devicefarm:TagResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] + "permissions" : [ "devicefarm:CreateTestGridProject", "devicefarm:TagResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole", "devicefarm:GetTestGridProject", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetTestGridProject", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateTestGridProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] + "permissions" : [ "devicefarm:UpdateTestGridProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole", "devicefarm:GetTestGridProject" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteTestGridProject" ] + "permissions" : [ "devicefarm:DeleteTestGridProject", "devicefarm:UntagResource", "devicefarm:GetTestGridProject", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListTestGridProjects" ] diff --git a/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json b/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json index 440c886f14..c74bf09d42 100644 --- a/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json +++ b/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json @@ -66,16 +66,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateVPCEConfiguration", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateVPCEConfiguration", "devicefarm:TagResource", "devicefarm:GetVPCEConfiguration", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetVPCEConfiguration", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateVPCEConfiguration", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateVPCEConfiguration", "devicefarm:GetVPCEConfiguration", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteVPCEConfiguration", "devicefarm:UntagResource" ] + "permissions" : [ "devicefarm:DeleteVPCEConfiguration", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetVPCEConfiguration" ] }, "list" : { "permissions" : [ "devicefarm:ListVPCEConfigurations" ] diff --git a/aws-cloudformation-schema/aws-dms-dataprovider.json b/aws-cloudformation-schema/aws-dms-dataprovider.json new file mode 100644 index 0000000000..ef5b92fda6 --- /dev/null +++ b/aws-cloudformation-schema/aws-dms-dataprovider.json @@ -0,0 +1,237 @@ +{ + "typeName" : "AWS::DMS::DataProvider", + "description" : "Resource schema for AWS::DMS::DataProvider", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms.git", + "tagging" : { + "taggable" : true + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "DmsSslModeValue" : { + "type" : "string", + "enum" : [ "none", "require", "verify_ca", "verify_full" ] + } + }, + "properties" : { + "DataProviderName" : { + "description" : "The property describes a name to identify the data provider.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "DataProviderIdentifier" : { + "description" : "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "DataProviderArn" : { + "description" : "The data provider ARN.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "DataProviderCreationTime" : { + "description" : "The data provider creation time.", + "type" : "string", + "minLength" : 1, + "maxLength" : 40 + }, + "Description" : { + "description" : "The optional description of the data provider.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "Engine" : { + "description" : "The property describes a data engine for the data provider.", + "type" : "string", + "enum" : [ "postgresql", "mysql", "oracle", "sqlserver", "aurora", "aurora_postgresql" ] + }, + "ExactSettings" : { + "description" : "The property describes the exact settings which can be modified", + "type" : "boolean", + "default" : false + }, + "Settings" : { + "description" : "The property identifies the exact type of settings for the data provider.", + "type" : "object", + "oneOf" : [ { + "description" : "PostgreSqlSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "PostgreSqlSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "DatabaseName" : { + "type" : "string" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + } + } + } + } + }, { + "description" : "MySqlSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "MySqlSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + } + } + } + } + }, { + "description" : "OracleSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "OracleSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "DatabaseName" : { + "type" : "string" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + }, + "AsmServer" : { + "type" : "string" + }, + "SecretsManagerOracleAsmSecretId" : { + "type" : "string" + }, + "SecretsManagerOracleAsmAccessRoleArn" : { + "type" : "string" + }, + "SecretsManagerSecurityDbEncryptionSecretId" : { + "type" : "string" + }, + "SecretsManagerSecurityDbEncryptionAccessRoleArn" : { + "type" : "string" + } + } + } + } + }, { + "description" : "MicrosoftSqlServerSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "MicrosoftSqlServerSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "DatabaseName" : { + "type" : "string" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + } + } + } + } + } ] + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "additionalProperties" : false, + "required" : [ "Engine" ], + "primaryIdentifier" : [ "/properties/DataProviderArn" ], + "additionalIdentifiers" : [ [ "/properties/DataProviderName" ] ], + "readOnlyProperties" : [ "/properties/DataProviderArn", "/properties/DataProviderCreationTime" ], + "writeOnlyProperties" : [ "/properties/DataProviderIdentifier", "/properties/ExactSettings" ], + "handlers" : { + "create" : { + "permissions" : [ "dms:CreateDataProvider", "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:AddTagsToResource", "dms:ListTagsForResource" ] + }, + "read" : { + "permissions" : [ "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "dms:UpdateDataProvider", "dms:ModifyDataProvider", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "dms:DeleteDataProvider" ] + }, + "list" : { + "permissions" : [ "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-endpoint.json b/aws-cloudformation-schema/aws-dms-endpoint.json index fd1857d1bf..8c05658c64 100644 --- a/aws-cloudformation-schema/aws-dms-endpoint.json +++ b/aws-cloudformation-schema/aws-dms-endpoint.json @@ -151,20 +151,32 @@ "type" : "object", "additionalProperties" : false, "properties" : { - "SecretsManagerSecretId" : { - "type" : "string" + "LoadTimeout" : { + "type" : "integer" }, "SetDataCaptureChanges" : { "type" : "boolean" }, - "SecretsManagerAccessRoleArn" : { - "type" : "string" + "MaxFileSize" : { + "type" : "integer" + }, + "KeepCsvFiles" : { + "type" : "boolean" }, "CurrentLsn" : { "type" : "string" }, "MaxKBytesPerRead" : { "type" : "integer" + }, + "SecretsManagerSecretId" : { + "type" : "string" + }, + "WriteBufferSize" : { + "type" : "integer" + }, + "SecretsManagerAccessRoleArn" : { + "type" : "string" } } }, diff --git a/aws-cloudformation-schema/aws-dms-instanceprofile.json b/aws-cloudformation-schema/aws-dms-instanceprofile.json new file mode 100644 index 0000000000..54bf5868e6 --- /dev/null +++ b/aws-cloudformation-schema/aws-dms-instanceprofile.json @@ -0,0 +1,130 @@ +{ + "typeName" : "AWS::DMS::InstanceProfile", + "description" : "Resource schema for AWS::DMS::InstanceProfile.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-csf.git", + "tagging" : { + "taggable" : true + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "additionalProperties" : false, + "properties" : { + "InstanceProfileArn" : { + "description" : "The property describes an ARN of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileIdentifier" : { + "description" : "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "AvailabilityZone" : { + "description" : "The property describes an availability zone of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "Description" : { + "description" : "The optional description of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "KmsKeyArn" : { + "description" : "The property describes kms key arn for the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "PubliclyAccessible" : { + "description" : "The property describes the publicly accessible of the instance profile", + "type" : "boolean", + "default" : false + }, + "NetworkType" : { + "description" : "The property describes a network type for the instance profile.", + "type" : "string", + "enum" : [ "IPV4", "IPV6", "DUAL" ] + }, + "InstanceProfileName" : { + "description" : "The property describes a name for the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileCreationTime" : { + "description" : "The property describes a creating time of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 40 + }, + "SubnetGroupIdentifier" : { + "description" : "The property describes a subnet group identifier for the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "VpcSecurityGroups" : { + "description" : "The property describes vps security groups for the instance profile.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "type" : "string" + } + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "readOnlyProperties" : [ "/properties/InstanceProfileArn", "/properties/InstanceProfileCreationTime" ], + "primaryIdentifier" : [ "/properties/InstanceProfileArn" ], + "additionalIdentifiers" : [ [ "/properties/InstanceProfileName" ] ], + "writeOnlyProperties" : [ "/properties/InstanceProfileIdentifier" ], + "handlers" : { + "create" : { + "permissions" : [ "dms:CreateInstanceProfile", "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:AddTagsToResource", "dms:ListTagsForResource" ] + }, + "read" : { + "permissions" : [ "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "dms:UpdateInstanceProfile", "dms:ModifyInstanceProfile", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "dms:DeleteInstanceProfile" ] + }, + "list" : { + "permissions" : [ "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-migrationproject.json b/aws-cloudformation-schema/aws-dms-migrationproject.json new file mode 100644 index 0000000000..df28916952 --- /dev/null +++ b/aws-cloudformation-schema/aws-dms-migrationproject.json @@ -0,0 +1,169 @@ +{ + "typeName" : "AWS::DMS::MigrationProject", + "description" : "Resource schema for AWS::DMS::MigrationProject", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-csf.git", + "tagging" : { + "taggable" : true + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "DataProviderDescriptor" : { + "type" : "object", + "description" : "It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject", + "additionalProperties" : false, + "properties" : { + "DataProviderIdentifier" : { + "type" : "string" + }, + "DataProviderName" : { + "type" : "string" + }, + "DataProviderArn" : { + "type" : "string" + }, + "SecretsManagerSecretId" : { + "type" : "string" + }, + "SecretsManagerAccessRoleArn" : { + "type" : "string" + } + } + } + }, + "additionalProperties" : false, + "properties" : { + "MigrationProjectName" : { + "description" : "The property describes a name to identify the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MigrationProjectIdentifier" : { + "description" : "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MigrationProjectArn" : { + "description" : "The property describes an ARN of the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MigrationProjectCreationTime" : { + "description" : "The property describes a creating time of the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 40 + }, + "InstanceProfileIdentifier" : { + "description" : "The property describes an instance profile identifier for the migration project. For create", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileName" : { + "description" : "The property describes an instance profile name for the migration project. For read", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileArn" : { + "description" : "The property describes an instance profile arn for the migration project. For read", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "TransformationRules" : { + "description" : "The property describes transformation rules for the migration project.", + "type" : "string" + }, + "Description" : { + "description" : "The optional description of the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "SchemaConversionApplicationAttributes" : { + "description" : "The property describes schema conversion application attributes for the migration project.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "S3BucketPath" : { + "type" : "string" + }, + "S3BucketRoleArn" : { + "type" : "string" + } + } + }, + "SourceDataProviderDescriptors" : { + "description" : "The property describes source data provider descriptors for the migration project.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/DataProviderDescriptor" + } + }, + "TargetDataProviderDescriptors" : { + "description" : "The property describes target data provider descriptors for the migration project.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/DataProviderDescriptor" + } + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "primaryIdentifier" : [ "/properties/MigrationProjectArn" ], + "additionalIdentifiers" : [ [ "/properties/MigrationProjectName" ] ], + "readOnlyProperties" : [ "/properties/MigrationProjectArn" ], + "deprecatedProperties" : [ "/properties/MigrationProjectCreationTime" ], + "writeOnlyProperties" : [ "/properties/MigrationProjectIdentifier", "/properties/InstanceProfileIdentifier", "/properties/SourceDataProviderDescriptors/*/DataProviderIdentifier", "/properties/TargetDataProviderDescriptors/*/DataProviderIdentifier" ], + "handlers" : { + "create" : { + "permissions" : [ "dms:CreateMigrationProject", "dms:ListMigrationProjects", "dms:DescribeMigrationProjects", "dms:AddTagsToResource", "dms:ListTagsForResource", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "dms:DescribeMigrationProjects", "dms:ListMigrationProjects", "dms:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "dms:UpdateMigrationProject", "dms:ModifyMigrationProject", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource", "iam:PassRole" ] + }, + "delete" : { + "permissions" : [ "dms:DeleteMigrationProject" ] + }, + "list" : { + "permissions" : [ "dms:ListMigrationProjects", "dms:DescribeMigrationProjects", "dms:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-replicationconfig.json b/aws-cloudformation-schema/aws-dms-replicationconfig.json index 6c1b9ebb2e..f0824245e3 100644 --- a/aws-cloudformation-schema/aws-dms-replicationconfig.json +++ b/aws-cloudformation-schema/aws-dms-replicationconfig.json @@ -114,8 +114,10 @@ "description" : "
Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.
" } }, + "createOnlyProperties" : [ "/properties/ResourceIdentifier" ], "readOnlyProperties" : [ "/Properties/ReplicationConfigArn" ], "primaryIdentifier" : [ "/properties/ReplicationConfigArn" ], + "additionalIdentifiers" : [ [ "/properties/ReplicationConfigIdentifier" ] ], "tagging" : { "taggable" : true, "tagOnCreate" : true, @@ -126,19 +128,19 @@ "additionalProperties" : false, "handlers" : { "create" : { - "permissions" : [ "dms:CreateReplicationConfig", "dms:AddTagsToResource", "dms:ListTagsForResource" ] + "permissions" : [ "dms:CreateReplicationConfig", "dms:AddTagsToResource", "dms:ListTagsForResource", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:UpdateRoleDescription" ] }, "read" : { "permissions" : [ "dms:DescribeReplicationConfigs", "dms:ListTagsForResource" ] }, "update" : { - "permissions" : [ "dms:ModifyReplicationConfig", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + "permissions" : [ "dms:ModifyReplicationConfig", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:UpdateRoleDescription" ] }, "list" : { "permissions" : [ "dms:DescribeReplicationConfigs", "dms:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "dms:DescribeReplicationConfigs", "dms:DeleteReplicationConfig", "dms:ListTagsForResource" ] + "permissions" : [ "dms:DescribeReplicationConfigs", "dms:DeleteReplicationConfig", "dms:ListTagsForResource", "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-instance.json b/aws-cloudformation-schema/aws-ec2-instance.json index e89eed789a..31707a8e99 100644 --- a/aws-cloudformation-schema/aws-ec2-instance.json +++ b/aws-cloudformation-schema/aws-ec2-instance.json @@ -1,464 +1,333 @@ { + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, + "$schema" : "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", "typeName" : "AWS::EC2::Instance", + "readOnlyProperties" : [ "/properties/InstanceId", "/properties/PrivateIp", "/properties/PublicDnsName", "/properties/PublicIp", "/properties/PrivateDnsName" ], "description" : "Resource Type definition for AWS::EC2::Instance", - "additionalProperties" : false, - "properties" : { - "Tenancy" : { - "type" : "string" - }, - "SecurityGroups" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "PrivateDnsName" : { - "type" : "string" - }, - "PrivateIpAddress" : { - "type" : "string" - }, - "UserData" : { - "type" : "string" - }, - "BlockDeviceMappings" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/BlockDeviceMapping" - } - }, - "IamInstanceProfile" : { - "type" : "string" + "createOnlyProperties" : [ "/properties/AvailabilityZone", "/properties/CpuOptions", "/properties/ElasticGpuSpecifications", "/properties/ElasticInferenceAccelerators", "/properties/EnclaveOptions", "/properties/HibernationOptions", "/properties/HostResourceGroupArn", "/properties/ImageId", "/properties/Ipv6AddressCount", "/properties/Ipv6Addresses", "/properties/KeyName", "/properties/LaunchTemplate", "/properties/LicenseSpecifications", "/properties/NetworkInterfaces", "/properties/PlacementGroupName", "/properties/PrivateIpAddress", "/properties/SecurityGroups", "/properties/SubnetId" ], + "primaryIdentifier" : [ "/properties/InstanceId" ], + "conditionalCreateOnlyProperties" : [ "/properties/AdditionalInfo", "/properties/Affinity", "/properties/EbsOptimized", "/properties/HostId", "/properties/InstanceType", "/properties/KernelId", "/properties/PrivateDnsNameOptions", "/properties/RamdiskId", "/properties/SecurityGroupIds", "/properties/Tenancy", "/properties/UserData", "/properties/BlockDeviceMappings" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "handlers" : { + "read" : { + "permissions" : [ "ec2:DescribeElasticGpus", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:DescribeInstances", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "elastic-inference:DescribeAccelerators", "ssm:DescribeAssociation", "ssm:ListAssociations" ] }, - "Ipv6Addresses" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/InstanceIpv6Address" - } - }, - "KernelId" : { - "type" : "string" - }, - "SubnetId" : { - "type" : "string" + "create" : { + "permissions" : [ "iam:PassRole", "ec2:ModifyPrivateDnsNameOptions", "ec2:DescribeElasticGpus", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:RunInstances", "ec2:AssociateIamInstanceProfile", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DetachVolume", "ec2:DisassociateIamInstanceProfile", "ec2:ModifyInstanceAttribute", "ec2:ModifyInstanceCreditSpecification", "ec2:ModifyInstancePlacement", "ec2:MonitorInstances", "ec2:AttachVolume", "ec2:CreateTags", "ec2:ReplaceIamInstanceProfileAssociation", "ec2:StartInstances", "elastic-inference:DescribeAccelerators", "ssm:CreateAssociation", "ssm:DescribeAssociation", "ssm:ListAssociations" ] }, - "EbsOptimized" : { - "type" : "boolean" + "update" : { + "permissions" : [ "ec2:DescribeElasticGpus", "ec2:ModifyPrivateDnsNameOptions", "ec2:DescribeNetworkInterfaces", "ec2:AssociateIamInstanceProfile", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "ec2:DetachVolume", "ec2:DisassociateIamInstanceProfile", "ec2:ModifyInstanceAttribute", "ec2:ModifyInstanceCreditSpecification", "ec2:ModifyInstanceMaintenanceOptions", "ec2:ModifyInstancePlacement", "ec2:MonitorInstances", "ec2:AttachVolume", "ec2:CreateTags", "ec2:DeleteTags", "ec2:ReplaceIamInstanceProfileAssociation", "ec2:StartInstances", "ec2:StopInstances", "ec2:UnmonitorInstances", "elastic-inference:DescribeAccelerators", "ssm:CreateAssociation", "ssm:DeleteAssociation", "ssm:DescribeAssociation", "ssm:ListAssociations" ] }, - "PropagateTagsToVolumeOnCreation" : { - "type" : "boolean" + "list" : { + "permissions" : [ "ec2:DescribeInstances" ] }, - "ElasticGpuSpecifications" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/ElasticGpuSpecification" - } - }, - "ElasticInferenceAccelerators" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/ElasticInferenceAccelerator" - } - }, - "Volumes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Volume" - } - }, - "PrivateIp" : { - "type" : "string" - }, - "Ipv6AddressCount" : { - "type" : "integer" - }, - "LaunchTemplate" : { - "$ref" : "#/definitions/LaunchTemplateSpecification" - }, - "EnclaveOptions" : { - "$ref" : "#/definitions/EnclaveOptions" - }, - "NetworkInterfaces" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/NetworkInterface" - } - }, - "ImageId" : { - "type" : "string" - }, - "InstanceType" : { - "type" : "string" - }, - "Monitoring" : { - "type" : "boolean" - }, - "Tags" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Tag" - } - }, - "AdditionalInfo" : { - "type" : "string" - }, - "HibernationOptions" : { - "$ref" : "#/definitions/HibernationOptions" - }, - "LicenseSpecifications" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/LicenseSpecification" - } - }, - "PublicIp" : { - "type" : "string" - }, - "InstanceInitiatedShutdownBehavior" : { - "type" : "string" - }, - "CpuOptions" : { - "$ref" : "#/definitions/CpuOptions" - }, - "AvailabilityZone" : { - "type" : "string" - }, - "PrivateDnsNameOptions" : { - "$ref" : "#/definitions/PrivateDnsNameOptions" - }, - "HostId" : { - "type" : "string" - }, - "HostResourceGroupArn" : { - "type" : "string" - }, - "PublicDnsName" : { - "type" : "string" - }, - "SecurityGroupIds" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "DisableApiTermination" : { - "type" : "boolean" - }, - "KeyName" : { - "type" : "string" - }, - "RamdiskId" : { - "type" : "string" - }, - "SourceDestCheck" : { - "type" : "boolean" - }, - "PlacementGroupName" : { - "type" : "string" - }, - "SsmAssociations" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/SsmAssociation" - } - }, - "Affinity" : { - "type" : "string" - }, - "Id" : { - "type" : "string" - }, - "CreditSpecification" : { - "$ref" : "#/definitions/CreditSpecification" + "delete" : { + "permissions" : [ "ec2:DescribeInstances", "ec2:TerminateInstances", "ec2:DescribeElasticGpus", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:DescribeInstances", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "elastic-inference:DescribeAccelerators", "ssm:DescribeAssociation", "ssm:ListAssociations" ] } }, + "writeOnlyProperties" : [ "/properties/BlockDeviceMapping/NoDevice", "/properties/BlockDeviceMapping/VirtualName", "/properties/LicenseSpecification", "/properties/AdditionalInfo", "/properties/Ipv6AddressCount", "/properties/Ipv6Addresses", "/properties/PropagateTagsToVolumeOnCreation", "/properties/Volumes" ], + "additionalProperties" : false, "definitions" : { "LaunchTemplateSpecification" : { - "type" : "object", + "oneOf" : [ { + "required" : [ "LaunchTemplateName", "Version" ] + }, { + "required" : [ "LaunchTemplateId", "Version" ] + } ], "additionalProperties" : false, + "type" : "object", "properties" : { "LaunchTemplateName" : { + "description" : "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.", "type" : "string" }, - "LaunchTemplateId" : { + "Version" : { + "description" : "The version number of the launch template.", "type" : "string" }, - "Version" : { + "LaunchTemplateId" : { + "description" : "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.", "type" : "string" } - }, - "required" : [ "Version" ] - }, - "HibernationOptions" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Configured" : { - "type" : "boolean" - } } }, "LicenseSpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "LicenseConfigurationArn" : { + "description" : "The Amazon Resource Name (ARN) of the license configuration.", "type" : "string" } }, "required" : [ "LicenseConfigurationArn" ] }, - "CpuOptions" : { - "type" : "object", + "ElasticGpuSpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "ThreadsPerCore" : { - "type" : "integer" - }, - "CoreCount" : { - "type" : "integer" + "Type" : { + "description" : "The type of Elastic Graphics accelerator.", + "type" : "string" } - } - }, - "NoDevice" : { - "type" : "object", - "additionalProperties" : false + }, + "required" : [ "Type" ] }, "InstanceIpv6Address" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Ipv6Address" : { + "description" : "The IPv6 address.", "type" : "string" } }, "required" : [ "Ipv6Address" ] }, "NetworkInterface" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Description" : { + "description" : "The description of the network interface.", "type" : "string" }, "PrivateIpAddress" : { + "description" : "The private IPv4 address of the network interface.", "type" : "string" }, "PrivateIpAddresses" : { - "type" : "array", "uniqueItems" : false, + "description" : "One or more private IPv4 addresses to assign to the network interface.", + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/PrivateIpAddressSpecification" } }, "SecondaryPrivateIpAddressCount" : { + "description" : "The number of secondary private IPv4 addresses.", "type" : "integer" }, "DeviceIndex" : { + "description" : "The position of the network interface in the attachment order. A primary network interface has a device index of 0.", "type" : "string" }, "GroupSet" : { - "type" : "array", "uniqueItems" : false, + "description" : "The IDs of the security groups for the network interface.", + "insertionOrder" : false, + "type" : "array", "items" : { "type" : "string" } }, "Ipv6Addresses" : { - "type" : "array", "uniqueItems" : false, + "description" : "The IPv6 addresses associated with the network interface.", + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/InstanceIpv6Address" } }, "SubnetId" : { + "description" : "The ID of the subnet.", "type" : "string" }, "AssociatePublicIpAddress" : { + "description" : "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC.", "type" : "boolean" }, "NetworkInterfaceId" : { + "description" : "The ID of the network interface.", "type" : "string" }, "AssociateCarrierIpAddress" : { + "description" : "Not currently supported by AWS CloudFormation.", "type" : "boolean" }, "Ipv6AddressCount" : { + "description" : "A number of IPv6 addresses to assign to the network interface.", "type" : "integer" }, "DeleteOnTermination" : { + "description" : "If set to true, the interface is deleted when the instance is terminated.", "type" : "boolean" } }, "required" : [ "DeviceIndex" ] }, "PrivateDnsNameOptions" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { + "EnableResourceNameDnsARecord" : { + "description" : "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type" : "boolean" + }, "HostnameType" : { - "type" : "string" + "description" : "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type" : "string", + "enum" : [ "ip-name", "resource-name" ] }, "EnableResourceNameDnsAAAARecord" : { - "type" : "boolean" - }, - "EnableResourceNameDnsARecord" : { + "description" : "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", "type" : "boolean" } } }, - "ElasticGpuSpecification" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Type" : { - "type" : "string" - } - }, - "required" : [ "Type" ] - }, "ElasticInferenceAccelerator" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Type" : { + "description" : "The type of elastic inference accelerator.", "type" : "string" }, "Count" : { - "type" : "integer" + "description" : "The number of elastic inference accelerators to attach to the instance.", + "type" : "integer", + "minimum" : 0 } }, "required" : [ "Type" ] }, - "SsmAssociation" : { - "type" : "object", + "AssociationParameter" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "AssociationParameters" : { - "type" : "array", + "Value" : { "uniqueItems" : false, + "description" : "The value of an input parameter.", + "insertionOrder" : false, + "type" : "array", "items" : { - "$ref" : "#/definitions/AssociationParameter" + "type" : "string" } }, - "DocumentName" : { + "Key" : { + "description" : "The name of an input parameter that is in the associated SSM document.", "type" : "string" } }, - "required" : [ "DocumentName" ] + "required" : [ "Value", "Key" ] }, - "AssociationParameter" : { - "type" : "object", + "SsmAssociation" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "Value" : { - "type" : "array", + "AssociationParameters" : { "uniqueItems" : false, + "description" : "The input parameter values to use with the associated SSM document.", + "insertionOrder" : false, + "type" : "array", "items" : { - "type" : "string" + "$ref" : "#/definitions/AssociationParameter" } }, - "Key" : { + "DocumentName" : { + "description" : "The name of an SSM document to associate with the instance.", "type" : "string" } }, - "required" : [ "Value", "Key" ] + "required" : [ "DocumentName" ] }, "PrivateIpAddressSpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "PrivateIpAddress" : { + "description" : "The private IPv4 addresses.", "type" : "string" }, "Primary" : { + "description" : "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", "type" : "boolean" } }, "required" : [ "PrivateIpAddress", "Primary" ] }, "Volume" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "VolumeId" : { + "description" : "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", "type" : "string" }, "Device" : { + "description" : "The device name (for example, /dev/sdh or xvdh).", "type" : "string" } }, "required" : [ "VolumeId", "Device" ] }, - "EnclaveOptions" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Enabled" : { - "type" : "boolean" - } - } - }, "Ebs" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "SnapshotId" : { + "description" : "The ID of the snapshot.", "type" : "string" }, "VolumeType" : { + "description" : "The volume type.", "type" : "string" }, "KmsKeyId" : { + "description" : "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used.", "type" : "string" }, "Encrypted" : { + "description" : "Indicates whether the volume should be encrypted.", "type" : "boolean" }, "Iops" : { + "description" : "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.", "type" : "integer" }, "VolumeSize" : { + "description" : "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.", "type" : "integer" }, "DeleteOnTermination" : { + "description" : "Indicates whether the EBS volume is deleted on instance termination.", "type" : "boolean" } } }, "BlockDeviceMapping" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { + "Ebs" : { + "description" : "Parameters used to automatically set up EBS volumes when the instance is launched.", + "$ref" : "#/definitions/Ebs" + }, "NoDevice" : { - "$ref" : "#/definitions/NoDevice" + "additionalProperties" : false, + "type" : "object" }, "VirtualName" : { "type" : "string" }, - "Ebs" : { - "$ref" : "#/definitions/Ebs" - }, "DeviceName" : { + "description" : "The device name (for example, /dev/sdh or xvdh).", "type" : "string" } }, "required" : [ "DeviceName" ] }, "Tag" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Value" : { "type" : "string" @@ -468,18 +337,276 @@ } }, "required" : [ "Value", "Key" ] + } + }, + "properties" : { + "Tenancy" : { + "description" : "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.", + "type" : "string" }, - "CreditSpecification" : { + "SecurityGroups" : { + "uniqueItems" : false, + "description" : "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "type" : "string" + } + }, + "PrivateDnsName" : { + "description" : "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal.", + "type" : "string" + }, + "PrivateIpAddress" : { + "description" : "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", + "type" : "string" + }, + "UserData" : { + "description" : "The user data to make available to the instance.", + "type" : "string" + }, + "BlockDeviceMappings" : { + "uniqueItems" : false, + "description" : "The block device mapping entries that defines the block devices to attach to the instance at launch.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/BlockDeviceMapping" + } + }, + "IamInstanceProfile" : { + "description" : "The IAM instance profile.", + "type" : "string" + }, + "Ipv6Addresses" : { + "uniqueItems" : false, + "description" : "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/InstanceIpv6Address" + } + }, + "KernelId" : { + "description" : "The ID of the kernel.", + "type" : "string" + }, + "SubnetId" : { + "description" : "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", + "type" : "string" + }, + "EbsOptimized" : { + "description" : "Indicates whether the instance is optimized for Amazon EBS I/O.", + "type" : "boolean" + }, + "PropagateTagsToVolumeOnCreation" : { + "description" : "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes.", + "type" : "boolean" + }, + "ElasticGpuSpecifications" : { + "uniqueItems" : false, + "description" : "An elastic GPU to associate with the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ElasticGpuSpecification" + } + }, + "ElasticInferenceAccelerators" : { + "uniqueItems" : false, + "description" : "An elastic inference accelerator to associate with the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ElasticInferenceAccelerator" + } + }, + "Volumes" : { + "uniqueItems" : false, + "description" : "The volumes to attach to the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Volume" + } + }, + "PrivateIp" : { + "description" : "The private IP address of the specified instance. For example: 10.24.34.0.", + "type" : "string" + }, + "Ipv6AddressCount" : { + "description" : "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", + "type" : "integer" + }, + "LaunchTemplate" : { + "description" : "The launch template to use to launch the instances.", "type" : "object", + "$ref" : "#/definitions/LaunchTemplateSpecification" + }, + "EnclaveOptions" : { + "description" : "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Enabled" : { + "description" : "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", + "type" : "boolean" + } + } + }, + "NetworkInterfaces" : { + "uniqueItems" : false, + "description" : "The network interfaces to associate with the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/NetworkInterface" + } + }, + "ImageId" : { + "description" : "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "type" : "string" + }, + "InstanceType" : { + "description" : "The instance type.", + "type" : "string" + }, + "Monitoring" : { + "description" : "Specifies whether detailed monitoring is enabled for the instance.", + "type" : "boolean" + }, + "Tags" : { + "uniqueItems" : false, + "description" : "The tags to add to the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } + }, + "AdditionalInfo" : { + "description" : "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX).", + "type" : "string" + }, + "HibernationOptions" : { + "description" : "Indicates whether an instance is enabled for hibernation.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Configured" : { + "default" : false, + "description" : "If you set this parameter to true, your instance is enabled for hibernation.", + "type" : "boolean" + } + } + }, + "LicenseSpecifications" : { + "uniqueItems" : false, + "description" : "The license configurations.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/LicenseSpecification" + } + }, + "InstanceId" : { + "description" : "The EC2 Instance ID.", + "type" : "string" + }, + "PublicIp" : { + "description" : "The public IP address of the specified instance. For example: 192.0.2.0.", + "type" : "string" + }, + "InstanceInitiatedShutdownBehavior" : { + "description" : "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).", + "type" : "string" + }, + "CpuOptions" : { + "description" : "The CPU options for the instance.", "additionalProperties" : false, + "type" : "object", + "properties" : { + "ThreadsPerCore" : { + "type" : "integer" + }, + "CoreCount" : { + "type" : "integer" + } + } + }, + "AvailabilityZone" : { + "description" : "The Availability Zone of the instance.", + "type" : "string" + }, + "PrivateDnsNameOptions" : { + "description" : "The options for the instance hostname.", + "type" : "object", + "$ref" : "#/definitions/PrivateDnsNameOptions" + }, + "HostId" : { + "description" : "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account.", + "type" : "string" + }, + "HostResourceGroupArn" : { + "description" : "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", + "type" : "string" + }, + "PublicDnsName" : { + "description" : "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com.", + "type" : "string" + }, + "SecurityGroupIds" : { + "uniqueItems" : false, + "description" : "The IDs of the security groups.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "type" : "string" + } + }, + "DisableApiTermination" : { + "description" : "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can.", + "type" : "boolean" + }, + "KeyName" : { + "description" : "The name of the key pair.", + "type" : "string" + }, + "RamdiskId" : { + "description" : "The ID of the RAM disk to select.", + "type" : "string" + }, + "SourceDestCheck" : { + "description" : "Specifies whether to enable an instance launched in a VPC to perform NAT.", + "type" : "boolean" + }, + "PlacementGroupName" : { + "description" : "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "type" : "string" + }, + "SsmAssociations" : { + "uniqueItems" : false, + "description" : "The SSM document and parameter values in AWS Systems Manager to associate with this instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/SsmAssociation" + } + }, + "Affinity" : { + "description" : "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.", + "type" : "string", + "enum" : [ "default", "host" ] + }, + "CreditSpecification" : { + "description" : "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.", + "additionalProperties" : false, + "type" : "object", "properties" : { "CPUCredits" : { "type" : "string" } } } - }, - "createOnlyProperties" : [ "/properties/ElasticGpuSpecifications", "/properties/Ipv6Addresses", "/properties/PlacementGroupName", "/properties/HostResourceGroupArn", "/properties/ImageId", "/properties/CpuOptions", "/properties/PrivateIpAddress", "/properties/ElasticInferenceAccelerators", "/properties/EnclaveOptions", "/properties/HibernationOptions", "/properties/KeyName", "/properties/LicenseSpecifications", "/properties/NetworkInterfaces", "/properties/AvailabilityZone", "/properties/SubnetId", "/properties/LaunchTemplate", "/properties/SecurityGroups", "/properties/Ipv6AddressCount" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/PublicIp", "/properties/Id", "/properties/PublicDnsName", "/properties/PrivateDnsName", "/properties/PrivateIp" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-ipamallocation.json b/aws-cloudformation-schema/aws-ec2-ipamallocation.json index 312b230868..1e09acc6a2 100644 --- a/aws-cloudformation-schema/aws-ec2-ipamallocation.json +++ b/aws-cloudformation-schema/aws-ec2-ipamallocation.json @@ -4,7 +4,7 @@ "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions" : { "Cidr" : { - "description" : "Represents a single IPv4 or IPv6 CIDR", + "description" : "Represents an IPAM custom allocation of a single IPv4 or IPv6 CIDR", "type" : "string" } }, diff --git a/aws-cloudformation-schema/aws-ec2-securitygroupegress.json b/aws-cloudformation-schema/aws-ec2-securitygroupegress.json index 7b2dcb64d2..4197067630 100644 --- a/aws-cloudformation-schema/aws-ec2-securitygroupegress.json +++ b/aws-cloudformation-schema/aws-ec2-securitygroupegress.json @@ -1,41 +1,75 @@ { + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "handlers" : { + "read" : { + "permissions" : [ "ec2:DescribeSecurityGroupRules" ] + }, + "create" : { + "permissions" : [ "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroupRules" ] + }, + "update" : { + "permissions" : [ "ec2:UpdateSecurityGroupRuleDescriptionsEgress" ] + }, + "list" : { + "permissions" : [ "ec2:DescribeSecurityGroupRules" ] + }, + "delete" : { + "permissions" : [ "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroupRules" ] + } + }, "typeName" : "AWS::EC2::SecurityGroupEgress", + "readOnlyProperties" : [ "/properties/Id" ], "description" : "Resource Type definition for AWS::EC2::SecurityGroupEgress", + "createOnlyProperties" : [ "/properties/IpProtocol", "/properties/DestinationSecurityGroupId", "/properties/ToPort", "/properties/CidrIp", "/properties/FromPort", "/properties/GroupId", "/properties/CidrIpv6", "/properties/DestinationPrefixListId" ], "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Id" ], + "required" : [ "IpProtocol", "GroupId" ], "properties" : { - "Id" : { - "type" : "string" - }, "CidrIp" : { + "description" : "The IPv4 ranges", "type" : "string" }, "CidrIpv6" : { + "description" : "[VPC only] The IPv6 ranges", "type" : "string" }, "Description" : { + "description" : "Resource Type definition for an egress (outbound) security group rule.", "type" : "string" }, - "DestinationPrefixListId" : { + "FromPort" : { + "description" : "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "type" : "integer" + }, + "ToPort" : { + "description" : "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "type" : "integer" + }, + "IpProtocol" : { + "description" : "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", "type" : "string" }, "DestinationSecurityGroupId" : { + "description" : "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", "type" : "string" }, - "FromPort" : { - "type" : "integer" - }, - "GroupId" : { + "Id" : { + "description" : "The Security Group Rule Id", "type" : "string" }, - "IpProtocol" : { + "DestinationPrefixListId" : { + "description" : "[EC2-VPC only] The ID of a prefix list.", "type" : "string" }, - "ToPort" : { - "type" : "integer" + "GroupId" : { + "description" : "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "type" : "string" } - }, - "required" : [ "IpProtocol", "GroupId" ], - "createOnlyProperties" : [ "/properties/IpProtocol", "/properties/DestinationSecurityGroupId", "/properties/ToPort", "/properties/CidrIp", "/properties/FromPort", "/properties/GroupId", "/properties/CidrIpv6", "/properties/DestinationPrefixListId" ], - "readOnlyProperties" : [ "/properties/Id" ], - "primaryIdentifier" : [ "/properties/Id" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json b/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json index 478d950c28..df66aa0ef3 100644 --- a/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json +++ b/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json @@ -45,6 +45,10 @@ "TenantId" : { "type" : "string", "description" : "The ID of the tenant application with the device-identity provider." + }, + "PublicSigningKeyUrl" : { + "type" : "string", + "description" : "URL Verified Access will use to verify authenticity of the device tokens." } }, "additionalProperties" : false diff --git a/aws-cloudformation-schema/aws-ecs-capacityprovider.json b/aws-cloudformation-schema/aws-ecs-capacityprovider.json index 46a996e276..1df3e93899 100644 --- a/aws-cloudformation-schema/aws-ecs-capacityprovider.json +++ b/aws-cloudformation-schema/aws-ecs-capacityprovider.json @@ -1,97 +1,104 @@ { + "propertyTransform" : { + "/properties/AutoScalingGroupProvider/AutoScalingGroupArn" : "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" + }, + "tagging" : { + "taggable" : true + }, + "handlers" : { + "read" : { + "permissions" : [ "ecs:DescribeCapacityProviders" ] + }, + "create" : { + "permissions" : [ "autoscaling:CreateOrUpdateTags", "ecs:CreateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:TagResource" ] + }, + "update" : { + "permissions" : [ "ecs:UpdateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:ListTagsForResource", "ecs:TagResource", "ecs:UntagResource" ] + }, + "list" : { + "permissions" : [ "ecs:DescribeCapacityProviders" ] + }, + "delete" : { + "permissions" : [ "ecs:DescribeCapacityProviders", "ecs:DeleteCapacityProvider" ] + } + }, "typeName" : "AWS::ECS::CapacityProvider", "description" : "Resource Type definition for AWS::ECS::CapacityProvider.", + "createOnlyProperties" : [ "/properties/AutoScalingGroupProvider/AutoScalingGroupArn", "/properties/Name" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Name" ], "definitions" : { "ManagedScaling" : { "description" : "The managed scaling settings for the Auto Scaling group capacity provider.", + "additionalProperties" : false, "type" : "object", "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ] + }, "MinimumScalingStepSize" : { "type" : "integer" }, - "MaximumScalingStepSize" : { + "InstanceWarmupPeriod" : { "type" : "integer" }, - "Status" : { - "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ] - }, "TargetCapacity" : { "type" : "integer" }, - "InstanceWarmupPeriod" : { + "MaximumScalingStepSize" : { "type" : "integer" } - }, - "additionalProperties" : false + } }, "AutoScalingGroupProvider" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "AutoScalingGroupArn" : { - "type" : "string" - }, "ManagedScaling" : { "$ref" : "#/definitions/ManagedScaling" }, + "AutoScalingGroupArn" : { + "type" : "string" + }, "ManagedTerminationProtection" : { "type" : "string", "enum" : [ "DISABLED", "ENABLED" ] + }, + "ManagedDraining" : { + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ] } }, - "required" : [ "AutoScalingGroupArn" ], - "additionalProperties" : false + "required" : [ "AutoScalingGroupArn" ] }, "Tag" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "Key" : { - "type" : "string", - "minLength" : 1 - }, "Value" : { - "type" : "string", - "minLength" : 1 + "minLength" : 1, + "type" : "string" + }, + "Key" : { + "minLength" : 1, + "type" : "string" } - }, - "additionalProperties" : false + } } }, "properties" : { "AutoScalingGroupProvider" : { "$ref" : "#/definitions/AutoScalingGroupProvider" }, - "Name" : { - "type" : "string" - }, "Tags" : { "type" : "array", "items" : { "$ref" : "#/definitions/Tag" } - } - }, - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Name" ], - "createOnlyProperties" : [ "/properties/AutoScalingGroupProvider/AutoScalingGroupArn", "/properties/Name" ], - "propertyTransform" : { - "/properties/AutoScalingGroupProvider/AutoScalingGroupArn" : "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" - }, - "handlers" : { - "create" : { - "permissions" : [ "autoscaling:CreateOrUpdateTags", "ecs:CreateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:TagResource" ] - }, - "delete" : { - "permissions" : [ "ecs:DescribeCapacityProviders", "ecs:DeleteCapacityProvider" ] }, - "read" : { - "permissions" : [ "ecs:DescribeCapacityProviders" ] - }, - "update" : { - "permissions" : [ "ecs:UpdateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:ListTagsForResource", "ecs:TagResource", "ecs:UntagResource" ] - }, - "list" : { - "permissions" : [ "ecs:DescribeCapacityProviders" ] + "Name" : { + "type" : "string" } }, "required" : [ "AutoScalingGroupProvider" ] diff --git a/aws-cloudformation-schema/aws-ecs-service.json b/aws-cloudformation-schema/aws-ecs-service.json index 671ead77ec..36a2f7c008 100644 --- a/aws-cloudformation-schema/aws-ecs-service.json +++ b/aws-cloudformation-schema/aws-ecs-service.json @@ -11,7 +11,7 @@ "permissions" : [ "ecs:DescribeServices" ] }, "create" : { - "permissions" : [ "ecs:CreateService", "ecs:DescribeServices", "iam:PassRole" ], + "permissions" : [ "ecs:CreateService", "ecs:DescribeServices", "iam:PassRole", "ecs:TagResource" ], "timeoutInMinutes" : 180 }, "update" : { diff --git a/aws-cloudformation-schema/aws-elasticache-serverlesscache.json b/aws-cloudformation-schema/aws-elasticache-serverlesscache.json index 82ed3242da..31ec2cbfb6 100644 --- a/aws-cloudformation-schema/aws-elasticache-serverlesscache.json +++ b/aws-cloudformation-schema/aws-elasticache-serverlesscache.json @@ -190,7 +190,7 @@ "tagProperty" : "/properties/Tags" }, "additionalProperties" : false, - "readOnlyProperties" : [ "/properties/FullEngineVersion", "/properties/CreateTime", "/properties/Status", "/properties/Endpoint", "/properties/ReaderEndpoint", "/properties/ARN" ], + "readOnlyProperties" : [ "/properties/FullEngineVersion", "/properties/CreateTime", "/properties/Status", "/properties/Endpoint/Address", "/properties/Endpoint/Port", "/properties/ReaderEndpoint/Address", "/properties/ReaderEndpoint/Port", "/properties/ARN" ], "writeOnlyProperties" : [ "/properties/SnapshotArnsToRestore", "/properties/FinalSnapshotName" ], "createOnlyProperties" : [ "/properties/ServerlessCacheName", "/properties/Engine", "/properties/MajorEngineVersion", "/properties/KmsKeyId", "/properties/SnapshotArnsToRestore", "/properties/SubnetIds" ], "required" : [ "ServerlessCacheName", "Engine" ], diff --git a/aws-cloudformation-schema/aws-emr-studio.json b/aws-cloudformation-schema/aws-emr-studio.json index 861755a6e7..c2f02d98c2 100644 --- a/aws-cloudformation-schema/aws-emr-studio.json +++ b/aws-cloudformation-schema/aws-emr-studio.json @@ -134,13 +134,32 @@ "type" : "string", "minLength" : 0, "maxLength" : 256 + }, + "TrustedIdentityPropagationEnabled" : { + "description" : "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "type" : "boolean" + }, + "IdcUserAssignment" : { + "description" : "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "type" : "string", + "enum" : [ "REQUIRED", "OPTIONAL" ] + }, + "IdcInstanceArn" : { + "description" : "The ARN of the IAM Identity Center instance to create the Studio application.", + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 + }, + "EncryptionKeyArn" : { + "description" : "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "$ref" : "#/definitions/Arn" } }, "additionalProperties" : false, "required" : [ "AuthMode", "EngineSecurityGroupId", "Name", "ServiceRole", "SubnetIds", "VpcId", "WorkspaceSecurityGroupId", "DefaultS3Location" ], "readOnlyProperties" : [ "/properties/StudioId", "/properties/Arn", "/properties/Url" ], "primaryIdentifier" : [ "/properties/StudioId" ], - "createOnlyProperties" : [ "/properties/AuthMode", "/properties/EngineSecurityGroupId", "/properties/ServiceRole", "/properties/UserRole", "/properties/VpcId", "/properties/WorkspaceSecurityGroupId" ], + "createOnlyProperties" : [ "/properties/AuthMode", "/properties/EngineSecurityGroupId", "/properties/ServiceRole", "/properties/UserRole", "/properties/VpcId", "/properties/WorkspaceSecurityGroupId", "/properties/TrustedIdentityPropagationEnabled", "/properties/IdcUserAssignment", "/properties/IdcInstanceArn", "/properties/EncryptionKeyArn" ], "handlers" : { "create" : { "permissions" : [ "elasticmapreduce:CreateStudio", "elasticmapreduce:DescribeStudio", "elasticmapreduce:AddTags", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "iam:PassRole" ] diff --git a/aws-cloudformation-schema/aws-emr-studiosessionmapping.json b/aws-cloudformation-schema/aws-emr-studiosessionmapping.json index f9dcb57413..818c327fec 100644 --- a/aws-cloudformation-schema/aws-emr-studiosessionmapping.json +++ b/aws-cloudformation-schema/aws-emr-studiosessionmapping.json @@ -40,13 +40,13 @@ "permissions" : [ "elasticmapreduce:CreateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:AssociateProfile" ] }, "read" : { - "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance" ] + "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance" ] }, "update" : { - "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:UpdateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance" ] + "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:UpdateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance" ] }, "delete" : { - "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:DeleteStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:DisassociateProfile" ] + "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:DeleteStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:DisassociateProfile" ] }, "list" : { "permissions" : [ "elasticmapreduce:ListStudioSessionMappings" ] diff --git a/aws-cloudformation-schema/aws-eventschemas-discoverer.json b/aws-cloudformation-schema/aws-eventschemas-discoverer.json index ed856b6185..ffe5e2bf67 100644 --- a/aws-cloudformation-schema/aws-eventschemas-discoverer.json +++ b/aws-cloudformation-schema/aws-eventschemas-discoverer.json @@ -4,26 +4,37 @@ "additionalProperties" : false, "properties" : { "DiscovererArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the discoverer." }, "DiscovererId" : { - "type" : "string" - }, - "CrossAccount" : { - "type" : "boolean" + "type" : "string", + "description" : "The Id of the discoverer." }, "Description" : { - "type" : "string" + "type" : "string", + "description" : "A description for the discoverer." }, "SourceArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the event bus." + }, + "CrossAccount" : { + "type" : "boolean", + "default" : true, + "description" : "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "State" : { + "type" : "string", + "description" : "Defines the current state of the discoverer." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/TagsEntry" - } + }, + "description" : "Tags associated with the resource." } }, "definitions" : { @@ -42,7 +53,31 @@ } }, "required" : [ "SourceArn" ], + "primaryIdentifier" : [ "/properties/DiscovererArn" ], + "readOnlyProperties" : [ "/properties/DiscovererArn", "/properties/DiscovererId", "/properties/State" ], "createOnlyProperties" : [ "/properties/SourceArn" ], - "primaryIdentifier" : [ "/properties/DiscovererId" ], - "readOnlyProperties" : [ "/properties/DiscovererId", "/properties/DiscovererArn" ] + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "schemas:CreateDiscoverer", "schemas:DescribeDiscoverer", "schemas:TagResource", "events:PutRule", "events:PutTargets", "events:EnableRule", "events:ListTargetsByRule", "iam:CreateServiceLinkedRole" ] + }, + "read" : { + "permissions" : [ "schemas:DescribeDiscoverer" ] + }, + "update" : { + "permissions" : [ "schemas:DescribeDiscoverer", "schemas:UpdateDiscoverer", "schemas:TagResource", "schemas:UntagResource", "schemas:ListTagsForResource", "events:PutTargets", "events:PutRule" ] + }, + "delete" : { + "permissions" : [ "schemas:DescribeDiscoverer", "schemas:DeleteDiscoverer", "events:DeleteRule", "events:DisableRule", "events:RemoveTargets" ] + }, + "list" : { + "permissions" : [ "schemas:ListDiscoverers" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-eventschemas-registry.json b/aws-cloudformation-schema/aws-eventschemas-registry.json index 35429a5443..83ba60e618 100644 --- a/aws-cloudformation-schema/aws-eventschemas-registry.json +++ b/aws-cloudformation-schema/aws-eventschemas-registry.json @@ -4,23 +4,24 @@ "additionalProperties" : false, "properties" : { "RegistryName" : { - "type" : "string" + "type" : "string", + "description" : "The name of the schema registry." }, "Description" : { - "type" : "string" - }, - "Id" : { - "type" : "string" + "type" : "string", + "description" : "A description of the registry to be created." }, "RegistryArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the registry." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/TagsEntry" - } + }, + "description" : "Tags associated with the resource." } }, "definitions" : { @@ -38,7 +39,31 @@ "required" : [ "Value", "Key" ] } }, + "primaryIdentifier" : [ "/properties/RegistryArn" ], + "readOnlyProperties" : [ "/properties/RegistryArn" ], "createOnlyProperties" : [ "/properties/RegistryName" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/RegistryArn", "/properties/Id" ] + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "schemas:DescribeRegistry", "schemas:CreateRegistry", "schemas:TagResource" ] + }, + "read" : { + "permissions" : [ "schemas:DescribeRegistry" ] + }, + "update" : { + "permissions" : [ "schemas:DescribeRegistry", "schemas:UpdateRegistry", "schemas:TagResource", "schemas:UntagResource", "schemas:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "schemas:DescribeRegistry", "schemas:DeleteRegistry" ] + }, + "list" : { + "permissions" : [ "schemas:ListRegistries" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-fis-experimenttemplate.json b/aws-cloudformation-schema/aws-fis-experimenttemplate.json index a5a7f1f872..49ac6719e8 100644 --- a/aws-cloudformation-schema/aws-fis-experimenttemplate.json +++ b/aws-cloudformation-schema/aws-fis-experimenttemplate.json @@ -1,107 +1,96 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fis.git", - "handlers" : { - "read" : { - "permissions" : [ "fis:GetExperimentTemplate", "fis:ListTagsForResource" ] - }, - "create" : { - "permissions" : [ "fis:CreateExperimentTemplate", "fis:TagResource", "iam:PassRole" ] - }, - "update" : { - "permissions" : [ "fis:UpdateExperimentTemplate", "fis:TagResource", "fis:UntagResource", "iam:PassRole" ] - }, - "list" : { - "permissions" : [ "fis:ListExperimentTemplates", "fis:ListTagsForResource" ] - }, - "delete" : { - "permissions" : [ "fis:DeleteExperimentTemplate" ] - } - }, "typeName" : "AWS::FIS::ExperimentTemplate", - "readOnlyProperties" : [ "/properties/Id" ], "description" : "Resource schema for AWS::FIS::ExperimentTemplate", - "createOnlyProperties" : [ "/properties/Tags" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Id" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fis.git", "definitions" : { - "ExperimentTemplateActionItemDescription" : { - "description" : "A description for the action.", + "ExperimentTemplateId" : { + "type" : "string" + }, + "ExperimentTemplateDescription" : { "type" : "string", + "description" : "A description for the experiment template.", "maxLength" : 512 }, "StopConditionSource" : { "type" : "string", "maxLength" : 64 }, + "StopConditionValue" : { + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 + }, "ExperimentTemplateStopCondition" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "$ref" : "#/definitions/StopConditionValue" - }, "Source" : { "$ref" : "#/definitions/StopConditionSource" + }, + "Value" : { + "$ref" : "#/definitions/StopConditionValue" } }, "required" : [ "Source" ] }, - "ExperimentTemplateActionItemStartAfter" : { + "ExperimentTemplateStopConditionList" : { + "type" : "array", + "description" : "One or more stop conditions.", + "items" : { + "$ref" : "#/definitions/ExperimentTemplateStopCondition" + } + }, + "ResourceType" : { "type" : "string", + "description" : "The AWS resource type. The resource type must be supported for the specified action.", "maxLength" : 64 }, - "ExperimentTemplateLogConfiguration" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "S3Configuration" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "BucketName" : { - "minLength" : 3, - "type" : "string", - "maxLength" : 63 - }, - "Prefix" : { - "minLength" : 1, - "type" : "string", - "maxLength" : 1024 - } - }, - "required" : [ "BucketName" ] - }, - "LogSchemaVersion" : { - "type" : "integer", - "minimum" : 1 - }, - "CloudWatchLogsConfiguration" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "LogGroupArn" : { - "minLength" : 20, - "type" : "string", - "maxLength" : 2048 - } - }, - "required" : [ "LogGroupArn" ] - } - }, - "required" : [ "LogSchemaVersion" ] + "ResourceArn" : { + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 }, - "ExperimentTemplateId" : { - "type" : "string" + "ResourceArnList" : { + "type" : "array", + "description" : "The Amazon Resource Names (ARNs) of the target resources.", + "items" : { + "$ref" : "#/definitions/ResourceArn" + } }, "ExperimentTemplateTargetSelectionMode" : { - "description" : "Scopes the identified resources to a specific number of the resources at random, or a percentage of the resources.", "type" : "string", + "description" : "Scopes the identified resources to a specific number of the resources at random, or a percentage of the resources.", "maxLength" : 64 }, - "ExperimentTemplateDescription" : { - "description" : "A description for the experiment template.", + "ExperimentTemplateTargetFilterPath" : { "type" : "string", - "maxLength" : 512 + "description" : "The attribute path for the filter.", + "maxLength" : 256 + }, + "ExperimentTemplateTargetFilterValue" : { + "type" : "string", + "maxLength" : 128 + }, + "ExperimentTemplateTargetFilterValues" : { + "type" : "array", + "description" : "The attribute values for the filter.", + "items" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterValue" + } + }, + "ExperimentTemplateTargetFilter" : { + "type" : "object", + "description" : "Describes a filter used for the target resource input in an experiment template.", + "additionalProperties" : false, + "properties" : { + "Path" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterPath" + }, + "Values" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterValues" + } + }, + "required" : [ "Path", "Values" ] }, "ExperimentTemplateTargetFilterList" : { "type" : "array", @@ -109,44 +98,39 @@ "$ref" : "#/definitions/ExperimentTemplateTargetFilter" } }, - "StopConditionValue" : { - "minLength" : 20, - "type" : "string", - "maxLength" : 2048 - }, "ExperimentTemplateTarget" : { + "type" : "object", "description" : "Specifies a target for an experiment.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Filters" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterList" + "ResourceType" : { + "$ref" : "#/definitions/ResourceType" }, - "Parameters" : { - "patternProperties" : { - ".{1,64}" : { - "type" : "string", - "maxLength" : 1024 - } - }, - "additionalProperties" : false, - "type" : "object" + "ResourceArns" : { + "$ref" : "#/definitions/ResourceArnList" }, "ResourceTags" : { + "type" : "object", "patternProperties" : { ".{1,128}" : { "type" : "string", "maxLength" : 256 } }, - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, - "ResourceType" : { - "$ref" : "#/definitions/ResourceType" + "Parameters" : { + "type" : "object", + "patternProperties" : { + ".{1,64}" : { + "type" : "string", + "maxLength" : 1024 + } + }, + "additionalProperties" : false }, - "ResourceArns" : { - "$ref" : "#/definitions/ResourceArnList" + "Filters" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterList" }, "SelectionMode" : { "$ref" : "#/definitions/ExperimentTemplateTargetSelectionMode" @@ -154,98 +138,49 @@ }, "required" : [ "ResourceType", "SelectionMode" ] }, - "ExperimentTemplateActionItemTarget" : { - "type" : "string", - "maxLength" : 64 - }, "ExperimentTemplateTargetMap" : { + "type" : "object", + "description" : "The targets for the experiment.", "patternProperties" : { ".{1,64}" : { "$ref" : "#/definitions/ExperimentTemplateTarget" } }, - "description" : "The targets for the experiment.", - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, - "ExperimentTemplateActionItemStartAfterList" : { - "description" : "The names of the actions that must be completed before the current action starts.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ExperimentTemplateActionItemStartAfter" - } + "ActionId" : { + "type" : "string", + "description" : "The ID of the action.", + "maxLength" : 64 }, - "ExperimentTemplateTargetFilterPath" : { - "description" : "The attribute path for the filter.", + "ExperimentTemplateActionItemDescription" : { "type" : "string", - "maxLength" : 256 + "description" : "A description for the action.", + "maxLength" : 512 }, "ExperimentTemplateActionItemParameter" : { "type" : "string", "maxLength" : 1024 }, - "ExperimentTemplateTargetFilter" : { - "description" : "Describes a filter used for the target resource input in an experiment template.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Path" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterPath" - }, - "Values" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterValues" - } - }, - "required" : [ "Path", "Values" ] - }, - "ResourceType" : { - "description" : "The AWS resource type. The resource type must be supported for the specified action.", + "ExperimentTemplateActionItemTarget" : { "type" : "string", "maxLength" : 64 }, - "ExperimentTemplateActionMap" : { - "patternProperties" : { - "[\\S]{1,64}" : { - "$ref" : "#/definitions/ExperimentTemplateAction" - } - }, - "description" : "The actions for the experiment.", - "additionalProperties" : false, - "type" : "object" - }, - "RoleArn" : { - "description" : "The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.", - "type" : "string", - "maxLength" : 1224 - }, - "ResourceArnList" : { - "description" : "The Amazon Resource Names (ARNs) of the target resources.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ResourceArn" - } - }, - "ResourceArn" : { - "minLength" : 20, - "type" : "string", - "maxLength" : 2048 - }, - "ActionId" : { - "description" : "The ID of the action.", + "ExperimentTemplateActionItemStartAfter" : { "type" : "string", "maxLength" : 64 }, - "ExperimentTemplateStopConditionList" : { - "description" : "One or more stop conditions.", + "ExperimentTemplateActionItemStartAfterList" : { "type" : "array", + "description" : "The names of the actions that must be completed before the current action starts.", "items" : { - "$ref" : "#/definitions/ExperimentTemplateStopCondition" + "$ref" : "#/definitions/ExperimentTemplateActionItemStartAfter" } }, "ExperimentTemplateAction" : { + "type" : "object", "description" : "Specifies an action for the experiment template.", "additionalProperties" : false, - "type" : "object", "properties" : { "ActionId" : { "$ref" : "#/definitions/ActionId" @@ -254,24 +189,24 @@ "$ref" : "#/definitions/ExperimentTemplateActionItemDescription" }, "Parameters" : { + "type" : "object", + "description" : "The parameters for the action, if applicable.", "patternProperties" : { ".{1,64}" : { "$ref" : "#/definitions/ExperimentTemplateActionItemParameter" } }, - "description" : "The parameters for the action, if applicable.", - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, "Targets" : { + "type" : "object", + "description" : "One or more targets for the action.", "patternProperties" : { ".{1,64}" : { "$ref" : "#/definitions/ExperimentTemplateActionItemTarget" } }, - "description" : "One or more targets for the action.", - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, "StartAfter" : { "$ref" : "#/definitions/ExperimentTemplateActionItemStartAfterList" @@ -279,35 +214,94 @@ }, "required" : [ "ActionId" ] }, - "ExperimentTemplateTargetFilterValues" : { - "description" : "The attribute values for the filter.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterValue" + "ExperimentTemplateActionMap" : { + "type" : "object", + "description" : "The actions for the experiment.", + "patternProperties" : { + "[\\S]{1,64}" : { + "$ref" : "#/definitions/ExperimentTemplateAction" + } + }, + "additionalProperties" : false + }, + "ExperimentTemplateLogConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "CloudWatchLogsConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "LogGroupArn" : { + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 + } + }, + "required" : [ "LogGroupArn" ] + }, + "S3Configuration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "BucketName" : { + "type" : "string", + "minLength" : 3, + "maxLength" : 63 + }, + "Prefix" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 + } + }, + "required" : [ "BucketName" ] + }, + "LogSchemaVersion" : { + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "LogSchemaVersion" ] + }, + "ExperimentTemplateExperimentOptions" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "AccountTargeting" : { + "type" : "string", + "description" : "The account targeting setting for the experiment template.", + "enum" : [ "multi-account", "single-account" ] + }, + "EmptyTargetResolutionMode" : { + "type" : "string", + "description" : "The target resolution failure mode for the experiment template.", + "enum" : [ "fail", "skip" ] + } } }, - "ExperimentTemplateTargetFilterValue" : { + "RoleArn" : { "type" : "string", - "maxLength" : 128 + "description" : "The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.", + "maxLength" : 1224 } }, - "required" : [ "Description", "StopConditions", "Targets", "RoleArn", "Tags" ], "properties" : { + "Id" : { + "$ref" : "#/definitions/ExperimentTemplateId" + }, "Description" : { "$ref" : "#/definitions/ExperimentTemplateDescription" }, + "Targets" : { + "$ref" : "#/definitions/ExperimentTemplateTargetMap" + }, "Actions" : { "$ref" : "#/definitions/ExperimentTemplateActionMap" }, "StopConditions" : { "$ref" : "#/definitions/ExperimentTemplateStopConditionList" }, - "Targets" : { - "$ref" : "#/definitions/ExperimentTemplateTargetMap" - }, - "Id" : { - "$ref" : "#/definitions/ExperimentTemplateId" - }, "LogConfiguration" : { "$ref" : "#/definitions/ExperimentTemplateLogConfiguration" }, @@ -315,14 +309,39 @@ "$ref" : "#/definitions/RoleArn" }, "Tags" : { + "type" : "object", "patternProperties" : { ".{1,128}" : { "type" : "string", "maxLength" : 256 } }, - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false + }, + "ExperimentOptions" : { + "$ref" : "#/definitions/ExperimentTemplateExperimentOptions" + } + }, + "additionalProperties" : false, + "required" : [ "Description", "StopConditions", "Targets", "RoleArn", "Tags" ], + "readOnlyProperties" : [ "/properties/Id" ], + "createOnlyProperties" : [ "/properties/Tags", "/properties/ExperimentOptions/properties/AccountTargeting" ], + "primaryIdentifier" : [ "/properties/Id" ], + "handlers" : { + "create" : { + "permissions" : [ "fis:CreateExperimentTemplate", "fis:TagResource", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "fis:GetExperimentTemplate", "fis:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "fis:UpdateExperimentTemplate", "fis:TagResource", "fis:UntagResource", "iam:PassRole" ] + }, + "delete" : { + "permissions" : [ "fis:DeleteExperimentTemplate" ] + }, + "list" : { + "permissions" : [ "fis:ListExperimentTemplates", "fis:ListTagsForResource" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-fis-targetaccountconfiguration.json b/aws-cloudformation-schema/aws-fis-targetaccountconfiguration.json new file mode 100644 index 0000000000..8b3bacf633 --- /dev/null +++ b/aws-cloudformation-schema/aws-fis-targetaccountconfiguration.json @@ -0,0 +1,75 @@ +{ + "typeName" : "AWS::FIS::TargetAccountConfiguration", + "description" : "Resource schema for AWS::FIS::TargetAccountConfiguration", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fis.git", + "definitions" : { + "TargetExperimentTemplateId" : { + "type" : "string", + "description" : "The ID of the experiment template." + }, + "TargetAccountId" : { + "type" : "string", + "description" : "The AWS account ID of the target account.", + "maxLength" : 512 + }, + "TargetAccountRoleArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of an IAM role for the target account.", + "maxLength" : 1224 + }, + "TargetAccountConfigurationDescription" : { + "type" : "string", + "description" : "The description of the target account.", + "maxLength" : 512 + } + }, + "properties" : { + "ExperimentTemplateId" : { + "$ref" : "#/definitions/TargetExperimentTemplateId" + }, + "AccountId" : { + "$ref" : "#/definitions/TargetAccountId" + }, + "RoleArn" : { + "$ref" : "#/definitions/TargetAccountRoleArn" + }, + "Description" : { + "$ref" : "#/definitions/TargetAccountConfigurationDescription" + } + }, + "additionalProperties" : false, + "required" : [ "ExperimentTemplateId", "AccountId", "RoleArn" ], + "createOnlyProperties" : [ "/properties/ExperimentTemplateId", "/properties/AccountId" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "primaryIdentifier" : [ "/properties/ExperimentTemplateId", "/properties/AccountId" ], + "handlers" : { + "create" : { + "permissions" : [ "fis:CreateTargetAccountConfiguration" ] + }, + "read" : { + "permissions" : [ "fis:GetTargetAccountConfiguration" ] + }, + "update" : { + "permissions" : [ "fis:UpdateTargetAccountConfiguration" ] + }, + "delete" : { + "permissions" : [ "fis:DeleteTargetAccountConfiguration" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ExperimentTemplateId" : { + "$ref" : "resource-schema.json#/properties/ExperimentTemplateId" + } + }, + "required" : [ "ExperimentTemplateId" ] + }, + "permissions" : [ "fis:ListTargetAccountConfigurations" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json b/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json index 3622904510..dce20a2ce0 100644 --- a/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json +++ b/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json @@ -130,7 +130,8 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : true + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" }, "additionalProperties" : false, "required" : [ "FileSystemId", "FileSystemPath", "DataRepositoryPath" ], diff --git a/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json b/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json index 41fa50e2ac..1b721397ec 100644 --- a/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json +++ b/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json @@ -1,63 +1,112 @@ { "typeName" : "AWS::Lambda::EventInvokeConfig", - "description" : "Resource Type definition for AWS::Lambda::EventInvokeConfig", - "additionalProperties" : false, - "properties" : { - "FunctionName" : { - "type" : "string" - }, - "MaximumRetryAttempts" : { - "type" : "integer" - }, - "Qualifier" : { - "type" : "string" - }, - "DestinationConfig" : { - "$ref" : "#/definitions/DestinationConfig" - }, - "Id" : { - "type" : "string" - }, - "MaximumEventAgeInSeconds" : { - "type" : "integer" - } - }, + "description" : "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions" : { "DestinationConfig" : { + "description" : "A destination for events after they have been sent to a function for processing.", "type" : "object", - "additionalProperties" : false, "properties" : { - "OnSuccess" : { - "$ref" : "#/definitions/OnSuccess" - }, "OnFailure" : { "$ref" : "#/definitions/OnFailure" + }, + "OnSuccess" : { + "$ref" : "#/definitions/OnSuccess" } - } + }, + "additionalProperties" : false }, - "OnSuccess" : { + "OnFailure" : { + "description" : "The destination configuration for failed invocations.", "type" : "object", - "additionalProperties" : false, "properties" : { "Destination" : { - "type" : "string" + "description" : "The Amazon Resource Name (ARN) of the destination resource.", + "type" : "string", + "pattern" : "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "minLength" : 0, + "maxLength" : 350 } }, - "required" : [ "Destination" ] + "required" : [ "Destination" ], + "additionalProperties" : false }, - "OnFailure" : { + "OnSuccess" : { + "description" : "The destination configuration for successful invocations.", "type" : "object", - "additionalProperties" : false, "properties" : { "Destination" : { - "type" : "string" + "description" : "The Amazon Resource Name (ARN) of the destination resource.", + "type" : "string", + "pattern" : "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "minLength" : 0, + "maxLength" : 350 } }, - "required" : [ "Destination" ] + "required" : [ "Destination" ], + "additionalProperties" : false + } + }, + "properties" : { + "DestinationConfig" : { + "$ref" : "#/definitions/DestinationConfig" + }, + "FunctionName" : { + "description" : "The name of the Lambda function.", + "type" : "string", + "pattern" : "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" + }, + "MaximumEventAgeInSeconds" : { + "description" : "The maximum age of a request that Lambda sends to a function for processing.", + "type" : "integer", + "minimum" : 60, + "maximum" : 21600 + }, + "MaximumRetryAttempts" : { + "description" : "The maximum number of times to retry when the function returns an error.", + "type" : "integer", + "minimum" : 0, + "maximum" : 2 + }, + "Qualifier" : { + "description" : "The identifier of a version or alias.", + "type" : "string", + "pattern" : "^(|[a-zA-Z0-9$_-]{1,129})$" } }, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "additionalProperties" : false, "required" : [ "FunctionName", "Qualifier" ], + "primaryIdentifier" : [ "/properties/FunctionName", "/properties/Qualifier" ], "createOnlyProperties" : [ "/properties/FunctionName", "/properties/Qualifier" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "handlers" : { + "create" : { + "permissions" : [ "lambda:PutFunctionEventInvokeConfig" ] + }, + "read" : { + "permissions" : [ "lambda:GetFunctionEventInvokeConfig" ] + }, + "update" : { + "permissions" : [ "lambda:UpdateFunctionEventInvokeConfig" ] + }, + "delete" : { + "permissions" : [ "lambda:DeleteFunctionEventInvokeConfig" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "FunctionName" : { + "$ref" : "resource-schema.json#/properties/FunctionName" + } + }, + "required" : [ "FunctionName" ] + }, + "permissions" : [ "lambda:ListFunctionEventInvokeConfigs" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-lambda-function.json b/aws-cloudformation-schema/aws-lambda-function.json index b3fe9cb412..e4efc89f4f 100644 --- a/aws-cloudformation-schema/aws-lambda-function.json +++ b/aws-cloudformation-schema/aws-lambda-function.json @@ -6,12 +6,6 @@ "tagProperty" : "/properties/Tags", "cloudFormationSystemTags" : true }, - "typeName" : "AWS::Lambda::Function", - "readOnlyProperties" : [ "/properties/SnapStartResponse", "/properties/SnapStartResponse/ApplyOn", "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], - "description" : "Resource Type definition for AWS::Lambda::Function in region", - "createOnlyProperties" : [ "/properties/FunctionName" ], - "primaryIdentifier" : [ "/properties/FunctionName" ], - "required" : [ "Code", "Role" ], "handlers" : { "read" : { "permissions" : [ "lambda:GetFunction", "lambda:GetFunctionCodeSigningConfig" ] @@ -29,8 +23,13 @@ "permissions" : [ "lambda:DeleteFunction", "ec2:DescribeNetworkInterfaces" ] } }, - "writeOnlyProperties" : [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", "/properties/Code", "/properties/Code/ImageUri", "/properties/Code/S3Bucket", "/properties/Code/S3Key", "/properties/Code/S3ObjectVersion", "/properties/Code/ZipFile", "/properties/Policy" ], + "typeName" : "AWS::Lambda::Function", + "readOnlyProperties" : [ "/properties/SnapStartResponse", "/properties/SnapStartResponse/ApplyOn", "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], + "description" : "Resource Type definition for AWS::Lambda::Function in region", + "writeOnlyProperties" : [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", "/properties/Code", "/properties/Code/ImageUri", "/properties/Code/S3Bucket", "/properties/Code/S3Key", "/properties/Code/S3ObjectVersion", "/properties/Code/ZipFile" ], + "createOnlyProperties" : [ "/properties/FunctionName" ], "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/FunctionName" ], "definitions" : { "ImageConfig" : { "additionalProperties" : false, @@ -291,11 +290,8 @@ "required" : [ "Size" ] } }, + "required" : [ "Code", "Role" ], "properties" : { - "Policy" : { - "description" : "The resource policy of your function", - "type" : "object" - }, "Description" : { "description" : "A description of the function.", "type" : "string", diff --git a/aws-cloudformation-schema/aws-logs-delivery.json b/aws-cloudformation-schema/aws-logs-delivery.json index ff532865a6..ca9d4bf69b 100644 --- a/aws-cloudformation-schema/aws-logs-delivery.json +++ b/aws-cloudformation-schema/aws-logs-delivery.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::Logs::Delivery", - "description" : "Resource Type definition for AWS::Logs::Delivery.", + "description" : "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions" : { "Tag" : { @@ -24,7 +24,7 @@ "additionalProperties" : false }, "Arn" : { - "description" : "Amazon Resource Names (ARNs) uniquely identify AWS resources.", + "description" : "Amazon Resource Name (ARN) that uniquely identify AWS resource.", "type" : "string", "minLength" : 16, "maxLength" : 2048, @@ -33,36 +33,36 @@ }, "properties" : { "DeliveryId" : { - "description" : "The value of the Id property for this object.", + "description" : "The unique ID that identifies this delivery in your account.", "type" : "string", "minLength" : 1, "maxLength" : 64, "pattern" : "^[0-9A-Za-z]+$" }, "Arn" : { - "description" : "The value of the Arn property for this object.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery.", "$ref" : "#/definitions/Arn" }, "DeliverySourceName" : { - "description" : "The value of the DeliverySourceName property for this object.", + "description" : "The name of the delivery source that is associated with this delivery.", "type" : "string", "pattern" : "[\\w-]*$", "minLength" : 1, "maxLength" : 60 }, "DeliveryDestinationArn" : { - "description" : "The value of the DeliveryDestinationArn property for this object.", + "description" : "The ARN of the delivery destination that is associated with this delivery.", "$ref" : "#/definitions/Arn" }, "DeliveryDestinationType" : { - "description" : "The value of the DeliveryDestinationType property for this object.", + "description" : "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.", "type" : "string", "minLength" : 1, "maxLength" : 12, "pattern" : "^[0-9A-Za-z]+$" }, "Tags" : { - "description" : "The value of the Tags property for this object.", + "description" : "The tags that have been assigned to this delivery.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, diff --git a/aws-cloudformation-schema/aws-logs-deliverydestination.json b/aws-cloudformation-schema/aws-logs-deliverydestination.json index bce4949f96..001dbf2a61 100644 --- a/aws-cloudformation-schema/aws-logs-deliverydestination.json +++ b/aws-cloudformation-schema/aws-logs-deliverydestination.json @@ -1,10 +1,10 @@ { "typeName" : "AWS::Logs::DeliveryDestination", - "description" : "Resource Type definition for AWS::Logs::DeliveryDestination", + "description" : "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions" : { "Arn" : { - "description" : "Amazon Resource Names (ARNs) uniquely identify AWS resources.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies a resource.", "type" : "string", "minLength" : 16, "maxLength" : 2048, @@ -52,22 +52,22 @@ }, "properties" : { "Name" : { - "description" : "The unique name of the Delivery Destination.", + "description" : "The name of this delivery destination.", "type" : "string", "pattern" : "[\\w-]*$", "minLength" : 1, "maxLength" : 60 }, "Arn" : { - "description" : "The value of the Arn property for this object.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination.", "$ref" : "#/definitions/Arn" }, "DestinationResourceArn" : { - "description" : "The ARN of the Destination Resource.", + "description" : "The ARN of the AWS resource that will receive the logs.", "$ref" : "#/definitions/Arn" }, "Tags" : { - "description" : "An array of key-value pairs to apply to this resource.", + "description" : "The tags that have been assigned to this delivery destination.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, @@ -76,7 +76,7 @@ } }, "DeliveryDestinationType" : { - "description" : "The value of the DeliveryDestinationType property for this object.", + "description" : "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.", "type" : "string", "minLength" : 1, "maxLength" : 12, diff --git a/aws-cloudformation-schema/aws-logs-deliverysource.json b/aws-cloudformation-schema/aws-logs-deliverysource.json index 3bd462eb6e..27edb5adea 100644 --- a/aws-cloudformation-schema/aws-logs-deliverysource.json +++ b/aws-cloudformation-schema/aws-logs-deliverysource.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::Logs::DeliverySource", - "description" : "Resource Type definition for AWS::Logs::DeliverySource.", + "description" : " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions" : { "Tag" : { @@ -24,7 +24,7 @@ "additionalProperties" : false }, "Arn" : { - "description" : "The ARN of the resource that will be sending the logs.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery source.", "type" : "string", "minLength" : 16, "maxLength" : 2048, @@ -40,11 +40,11 @@ "maxLength" : 60 }, "Arn" : { - "description" : "The ARN of the Aqueduct Source.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery source.", "$ref" : "#/definitions/Arn" }, "ResourceArns" : { - "description" : "List of ARN of the resource that will be sending the logs", + "description" : "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, @@ -57,7 +57,7 @@ "$ref" : "#/definitions/Arn" }, "Service" : { - "description" : "The service generating the log", + "description" : "The AWS service that is sending logs.", "type" : "string", "pattern" : "[\\w-]*$", "minLength" : 1, @@ -71,7 +71,7 @@ "maxLength" : 255 }, "Tags" : { - "description" : "An array of key-value pairs to apply to this resource.", + "description" : "The tags that have been assigned to this delivery source.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, diff --git a/aws-cloudformation-schema/aws-msk-batchscramsecret.json b/aws-cloudformation-schema/aws-msk-batchscramsecret.json index b3403f73f0..f9276df40f 100644 --- a/aws-cloudformation-schema/aws-msk-batchscramsecret.json +++ b/aws-cloudformation-schema/aws-msk-batchscramsecret.json @@ -31,13 +31,13 @@ }, "handlers" : { "create" : { - "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] + "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ] }, "delete" : { "permissions" : [ "kafka:BatchDisassociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] }, "list" : { - "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ], + "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ], "handlerSchema" : { "properties" : { "ClusterArn" : { @@ -48,10 +48,10 @@ } }, "read" : { - "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] + "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ] }, "update" : { - "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:BatchDisassociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] + "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:BatchDisassociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-opensearchservice-domain.json b/aws-cloudformation-schema/aws-opensearchservice-domain.json index 5ff469d116..b38f6d4971 100644 --- a/aws-cloudformation-schema/aws-opensearchservice-domain.json +++ b/aws-cloudformation-schema/aws-opensearchservice-domain.json @@ -361,6 +361,9 @@ "AccessPolicies" : { "type" : "object" }, + "IPAddressType" : { + "type" : "string" + }, "EngineVersion" : { "type" : "string" }, @@ -403,6 +406,9 @@ "DomainEndpoint" : { "type" : "string" }, + "DomainEndpointV2" : { + "type" : "string" + }, "DomainEndpoints" : { "type" : "object", "additionalProperties" : false, @@ -448,7 +454,7 @@ "additionalProperties" : false, "createOnlyProperties" : [ "/properties/DomainName" ], "conditionalCreateOnlyProperties" : [ "/properties/EncryptionAtRestOptions/properties", "/properties/AdvancedSecurityOptions/properties/Enabled" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/DomainArn", "/properties/DomainEndpoint", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/DomainArn", "/properties/DomainEndpoint", "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" ], "writeOnlyProperties" : [ "/properties/AdvancedSecurityOptions/MasterUserOptions", "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole" ], "primaryIdentifier" : [ "/properties/DomainName" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-osis-pipeline.json b/aws-cloudformation-schema/aws-osis-pipeline.json index 736859c831..6cf5da986f 100644 --- a/aws-cloudformation-schema/aws-osis-pipeline.json +++ b/aws-cloudformation-schema/aws-osis-pipeline.json @@ -3,6 +3,30 @@ "description" : "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-osis.git", "definitions" : { + "BufferOptions" : { + "description" : "Key-value pairs to configure buffering.", + "type" : "object", + "properties" : { + "PersistentBufferEnabled" : { + "type" : "boolean", + "description" : "Whether persistent buffering should be enabled." + } + }, + "required" : [ "PersistentBufferEnabled" ], + "additionalProperties" : false + }, + "EncryptionAtRestOptions" : { + "description" : "Key-value pairs to configure encryption at rest.", + "type" : "object", + "properties" : { + "KmsKeyArn" : { + "type" : "string", + "description" : "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + }, + "required" : [ "KmsKeyArn" ], + "additionalProperties" : false + }, "LogPublishingOptions" : { "description" : "Key-value pairs to configure log publishing.", "type" : "object", @@ -22,6 +46,7 @@ "pattern" : "\\/aws\\/vendedlogs\\/[\\.\\-_/#A-Za-z0-9]+" } }, + "required" : [ "LogGroup" ], "additionalProperties" : false } }, @@ -74,6 +99,7 @@ } } }, + "required" : [ "SubnetIds" ], "additionalProperties" : false }, "VpcEndpoint" : { @@ -96,6 +122,12 @@ } }, "properties" : { + "BufferOptions" : { + "$ref" : "#/definitions/BufferOptions" + }, + "EncryptionAtRestOptions" : { + "$ref" : "#/definitions/EncryptionAtRestOptions" + }, "LogPublishingOptions" : { "$ref" : "#/definitions/LogPublishingOptions" }, @@ -175,16 +207,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "osis:CreatePipeline", "osis:GetPipeline", "osis:ListTagsForResource", "iam:PassRole", "iam:CreateServiceLinkedRole" ] + "permissions" : [ "osis:CreatePipeline", "osis:GetPipeline", "osis:TagResource", "osis:ListTagsForResource", "iam:PassRole", "iam:CreateServiceLinkedRole", "logs:CreateLogDelivery", "kms:DescribeKey" ] }, "read" : { "permissions" : [ "osis:GetPipeline", "osis:ListTagsForResource" ] }, "update" : { - "permissions" : [ "osis:UpdatePipeline", "osis:ListTagsForResource", "osis:TagResource", "osis:UntagResource", "iam:PassRole" ] + "permissions" : [ "osis:UpdatePipeline", "osis:GetPipeline", "osis:ListTagsForResource", "osis:TagResource", "osis:UntagResource", "iam:PassRole", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:ListLogDeliveries", "kms:DescribeKey" ] }, "delete" : { - "permissions" : [ "osis:DeletePipeline" ] + "permissions" : [ "osis:DeletePipeline", "osis:GetPipeline", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ] }, "list" : { "permissions" : [ "osis:ListPipelines" ] diff --git a/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json b/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json index e88f7c0507..18551c3142 100644 --- a/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json +++ b/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json @@ -34,21 +34,24 @@ "required" : [ "ResourceId", "AutodefinedReverseFlag" ], "readOnlyProperties" : [ "/properties/OwnerId", "/properties/Id", "/properties/AutodefinedReverse" ], "createOnlyProperties" : [ "/properties/ResourceId", "/properties/AutodefinedReverseFlag" ], - "primaryIdentifier" : [ "/properties/Id" ], + "primaryIdentifier" : [ "/properties/ResourceId" ], "taggable" : false, "additionalProperties" : false, + "propertyTransform" : { + "/properties/AutodefinedReverseFlag" : "$join([AutodefinedReverseFlag, \"D\"])" + }, "handlers" : { "create" : { - "permissions" : [ "route53resolver:UpdateResolverConfig" ] + "permissions" : [ "route53resolver:UpdateResolverConfig", "route53resolver:GetResolverConfig", "ec2:DescribeVpcs" ] }, "read" : { - "permissions" : [ "route53resolver:GetResolverConfig" ] + "permissions" : [ "route53resolver:GetResolverConfig", "ec2:DescribeVpcs" ] }, "delete" : { - "permissions" : [ "route53resolver:UpdateResolverConfig" ] + "permissions" : [ "route53resolver:UpdateResolverConfig", "route53resolver:ListResolverConfigs", "ec2:DescribeVpcs" ] }, "list" : { - "permissions" : [ "route53resolver:ListResolverConfigs" ] + "permissions" : [ "route53resolver:ListResolverConfigs", "ec2:DescribeVpcs" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-s3-bucket.json b/aws-cloudformation-schema/aws-s3-bucket.json index b48379a8d1..260c625e51 100644 --- a/aws-cloudformation-schema/aws-s3-bucket.json +++ b/aws-cloudformation-schema/aws-s3-bucket.json @@ -1,134 +1,182 @@ { - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true - }, - "handlers" : { - "read" : { - "permissions" : [ "s3:GetAccelerateConfiguration", "s3:GetLifecycleConfiguration", "s3:GetBucketPublicAccessBlock", "s3:GetAnalyticsConfiguration", "s3:GetBucketCORS", "s3:GetEncryptionConfiguration", "s3:GetInventoryConfiguration", "s3:GetBucketLogging", "s3:GetMetricsConfiguration", "s3:GetBucketNotification", "s3:GetBucketVersioning", "s3:GetReplicationConfiguration", "S3:GetBucketWebsite", "s3:GetBucketPublicAccessBlock", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketTagging", "s3:GetBucketOwnershipControls", "s3:GetIntelligentTieringConfiguration", "s3:ListBucket" ] + "typeName" : "AWS::S3::Bucket", + "description" : "Resource Type definition for AWS::S3::Bucket", + "additionalProperties" : false, + "properties" : { + "AccelerateConfiguration" : { + "$ref" : "#/definitions/AccelerateConfiguration", + "description" : "Configuration for the transfer acceleration state." }, - "create" : { - "permissions" : [ "s3:CreateBucket", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutObjectAcl", "s3:PutBucketObjectLockConfiguration", "s3:GetBucketAcl", "s3:ListBucket", "iam:PassRole", "s3:DeleteObject", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration" ] + "AccessControl" : { + "description" : "A canned access control list (ACL) that grants predefined permissions to the bucket.", + "enum" : [ "AuthenticatedRead", "AwsExecRead", "BucketOwnerFullControl", "BucketOwnerRead", "LogDeliveryWrite", "Private", "PublicRead", "PublicReadWrite" ], + "type" : "string" }, - "update" : { - "permissions" : [ "s3:PutBucketAcl", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration", "s3:DeleteBucketWebsite", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketObjectLockConfiguration", "s3:DeleteBucketAnalyticsConfiguration", "s3:DeleteBucketCors", "s3:DeleteBucketMetricsConfiguration", "s3:DeleteBucketEncryption", "s3:DeleteBucketLifecycle", "s3:DeleteBucketReplication", "iam:PassRole", "s3:ListBucket" ] + "AnalyticsConfigurations" : { + "description" : "The configuration and any analyses for the analytics filter of an Amazon S3 bucket.", + "items" : { + "$ref" : "#/definitions/AnalyticsConfiguration" + }, + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true }, - "list" : { - "permissions" : [ "s3:ListAllMyBuckets" ] + "BucketEncryption" : { + "$ref" : "#/definitions/BucketEncryption" }, - "delete" : { - "permissions" : [ "s3:DeleteBucket", "s3:ListBucket" ] - } - }, - "typeName" : "AWS::S3::Bucket", - "readOnlyProperties" : [ "/properties/Arn", "/properties/DomainName", "/properties/DualStackDomainName", "/properties/RegionalDomainName", "/properties/WebsiteURL" ], - "description" : "Resource Type definition for AWS::S3::Bucket", - "writeOnlyProperties" : [ "/properties/AccessControl", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", "/properties/LifecycleConfiguration/Rules/*/Transition", "/properties/ReplicationConfiguration/Rules/*/Prefix", "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" ], - "createOnlyProperties" : [ "/properties/BucketName", "/properties/ObjectLockEnabled" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/BucketName" ], - "definitions" : { - "DefaultRetention" : { - "description" : "The default retention period that you want to apply to new objects placed in the specified bucket.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Years" : { - "type" : "integer" - }, - "Days" : { - "type" : "integer" - }, - "Mode" : { - "type" : "string", - "enum" : [ "COMPLIANCE", "GOVERNANCE" ] - } - } + "BucketName" : { + "description" : "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "maxLength" : 63, + "minLength" : 3, + "pattern" : "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", + "type" : "string" }, - "SourceSelectionCriteria" : { - "description" : "A container that describes additional filters for identifying the source objects that you want to replicate.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "ReplicaModifications" : { - "description" : "A filter that you can specify for selection for modifications on replicas.", - "$ref" : "#/definitions/ReplicaModifications" - }, - "SseKmsEncryptedObjects" : { - "description" : "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", - "$ref" : "#/definitions/SseKmsEncryptedObjects" - } - } + "CorsConfiguration" : { + "$ref" : "#/definitions/CorsConfiguration", + "description" : "Rules that define cross-origin resource sharing of objects in this bucket." }, - "ReplicationTimeValue" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Minutes" : { - "type" : "integer" - } + "IntelligentTieringConfigurations" : { + "description" : "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.", + "items" : { + "$ref" : "#/definitions/IntelligentTieringConfiguration" }, - "required" : [ "Minutes" ] + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true }, - "FilterRule" : { - "description" : "Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.", - "additionalProperties" : false, + "InventoryConfigurations" : { + "description" : "The inventory configuration for an Amazon S3 bucket.", + "items" : { + "$ref" : "#/definitions/InventoryConfiguration" + }, + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true + }, + "LifecycleConfiguration" : { + "$ref" : "#/definitions/LifecycleConfiguration", + "description" : "Rules that define how Amazon S3 manages objects during their lifetime." + }, + "LoggingConfiguration" : { + "$ref" : "#/definitions/LoggingConfiguration", + "description" : "Settings that define where logs are stored." + }, + "MetricsConfigurations" : { + "description" : "Settings that define a metrics configuration for the CloudWatch request metrics from the bucket.", + "items" : { + "$ref" : "#/definitions/MetricsConfiguration" + }, + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true + }, + "NotificationConfiguration" : { + "$ref" : "#/definitions/NotificationConfiguration", + "description" : "Configuration that defines how Amazon S3 handles bucket notifications." + }, + "ObjectLockConfiguration" : { + "$ref" : "#/definitions/ObjectLockConfiguration", + "description" : "Places an Object Lock configuration on the specified bucket." + }, + "ObjectLockEnabled" : { + "description" : "Indicates whether this bucket has an Object Lock configuration enabled.", + "type" : "boolean" + }, + "OwnershipControls" : { + "description" : "Specifies the container element for object ownership rules.", + "$ref" : "#/definitions/OwnershipControls" + }, + "PublicAccessBlockConfiguration" : { + "$ref" : "#/definitions/PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration" : { + "$ref" : "#/definitions/ReplicationConfiguration", + "description" : "Configuration for replicating objects in an S3 bucket." + }, + "Tags" : { + "description" : "An arbitrary set of tags (key-value pairs) for this S3 bucket.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + }, + "type" : "array" + }, + "VersioningConfiguration" : { + "$ref" : "#/definitions/VersioningConfiguration" + }, + "WebsiteConfiguration" : { + "$ref" : "#/definitions/WebsiteConfiguration" + }, + "Arn" : { + "$ref" : "#/definitions/Arn", + "description" : "The Amazon Resource Name (ARN) of the specified bucket.", + "examples" : [ "arn:aws:s3:::mybucket" ] + }, + "DomainName" : { + "description" : "The IPv4 DNS name of the specified bucket.", + "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" ], + "type" : "string" + }, + "DualStackDomainName" : { + "description" : "The IPv6 DNS name of the specified bucket. For more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html).", + "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" ], + "type" : "string" + }, + "RegionalDomainName" : { + "description" : "Returns the regional domain name of the specified bucket.", + "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" ], + "type" : "string" + }, + "WebsiteURL" : { + "description" : "The Amazon S3 website endpoint for the specified bucket.", + "examples" : [ "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/", "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/" ], + "format" : "uri", + "type" : "string" + } + }, + "definitions" : { + "TagFilter" : { + "description" : "Tags to use to identify a subset of objects for an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { "Value" : { "type" : "string" }, - "Name" : { - "type" : "string", - "maxLength" : 1024 + "Key" : { + "type" : "string" } }, - "required" : [ "Value", "Name" ] + "required" : [ "Value", "Key" ] }, - "ReplicationRule" : { - "description" : "Specifies which Amazon S3 objects to replicate and where to store the replicas.", - "additionalProperties" : false, + "Destination" : { + "description" : "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).", "type" : "object", + "additionalProperties" : false, "properties" : { - "Status" : { - "description" : "Specifies whether the rule is enabled.", - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] - }, - "Destination" : { - "$ref" : "#/definitions/ReplicationDestination" - }, - "Filter" : { - "$ref" : "#/definitions/ReplicationRuleFilter" - }, - "Priority" : { - "type" : "integer" + "BucketArn" : { + "description" : "The Amazon Resource Name (ARN) of the bucket to which data is exported.", + "type" : "string" }, - "SourceSelectionCriteria" : { - "$ref" : "#/definitions/SourceSelectionCriteria" + "BucketAccountId" : { + "description" : "The account ID that owns the destination S3 bucket. ", + "type" : "string" }, - "Id" : { - "description" : "A unique identifier for the rule.", + "Format" : { + "description" : "Specifies the file format used when exporting data to Amazon S3.", "type" : "string", - "maxLength" : 255 + "enum" : [ "CSV", "ORC", "Parquet" ] }, "Prefix" : { - "description" : "An object key name prefix that identifies the object or objects to which the rule applies.", - "type" : "string", - "maxLength" : 1024 - }, - "DeleteMarkerReplication" : { - "$ref" : "#/definitions/DeleteMarkerReplication" + "description" : "The prefix to use when exporting data. The prefix is prepended to all results.", + "type" : "string" } }, - "required" : [ "Destination", "Status" ] + "required" : [ "BucketArn", "Format" ] }, "AccelerateConfiguration" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "AccelerationStatus" : { "description" : "Configures the transfer acceleration state for an Amazon S3 bucket.", @@ -138,550 +186,404 @@ }, "required" : [ "AccelerationStatus" ] }, - "Metrics" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] - }, - "EventThreshold" : { - "$ref" : "#/definitions/ReplicationTimeValue" - } - }, - "required" : [ "Status" ] - }, - "RoutingRuleCondition" : { - "description" : "A container for describing a condition that must be met for the specified redirect to apply.You must specify at least one of HttpErrorCodeReturnedEquals and KeyPrefixEquals", - "additionalProperties" : false, + "AnalyticsConfiguration" : { + "description" : "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", "type" : "object", - "properties" : { - "KeyPrefixEquals" : { - "description" : "The object key name prefix when the redirect is applied.", - "type" : "string" - }, - "HttpErrorCodeReturnedEquals" : { - "description" : "The HTTP error code when the redirect is applied. ", - "type" : "string" - } - } - }, - "OwnershipControls" : { "additionalProperties" : false, - "type" : "object", "properties" : { - "Rules" : { + "TagFilters" : { + "type" : "array", "uniqueItems" : true, "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/OwnershipControlsRule" + "$ref" : "#/definitions/TagFilter" } + }, + "StorageClassAnalysis" : { + "$ref" : "#/definitions/StorageClassAnalysis" + }, + "Id" : { + "description" : "The ID that identifies the analytics configuration.", + "type" : "string" + }, + "Prefix" : { + "description" : "The prefix that an object must have to be included in the analytics results.", + "type" : "string" } }, - "required" : [ "Rules" ] + "required" : [ "StorageClassAnalysis", "Id" ] }, - "DeleteMarkerReplication" : { - "additionalProperties" : false, + "StorageClassAnalysis" : { + "description" : "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] + "DataExport" : { + "$ref" : "#/definitions/DataExport" } } }, - "RoutingRule" : { - "description" : "Specifies the redirect behavior and when a redirect is applied.", - "additionalProperties" : false, + "DataExport" : { + "description" : "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", "type" : "object", + "additionalProperties" : false, "properties" : { - "RedirectRule" : { - "description" : "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", - "$ref" : "#/definitions/RedirectRule" + "Destination" : { + "$ref" : "#/definitions/Destination" }, - "RoutingRuleCondition" : { - "$ref" : "#/definitions/RoutingRuleCondition" + "OutputSchemaVersion" : { + "description" : "The version of the output schema to use when exporting data.", + "type" : "string", + "const" : "V_1" } }, - "required" : [ "RedirectRule" ] + "required" : [ "Destination", "OutputSchemaVersion" ] }, - "NotificationFilter" : { - "description" : "Specifies object key name filtering rules.", - "additionalProperties" : false, + "BucketEncryption" : { + "description" : "Specifies default encryption for a bucket using server-side encryption with either Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS).", "type" : "object", - "properties" : { - "S3Key" : { - "$ref" : "#/definitions/S3KeyFilter" - } - }, - "required" : [ "S3Key" ] - }, - "ReplicationConfiguration" : { - "description" : "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Role" : { - "description" : "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects.", - "type" : "string" - }, - "Rules" : { + "ServerSideEncryptionConfiguration" : { + "description" : "Specifies the default server-side-encryption configuration.", + "type" : "array", "uniqueItems" : true, - "description" : "A container for one or more replication rules.", "insertionOrder" : true, - "type" : "array", "items" : { - "minLength" : 1, - "$ref" : "#/definitions/ReplicationRule", - "maxLength" : 1000 + "$ref" : "#/definitions/ServerSideEncryptionRule" } } }, - "required" : [ "Role", "Rules" ] + "required" : [ "ServerSideEncryptionConfiguration" ] }, "ServerSideEncryptionRule" : { "description" : "Specifies the default server-side encryption configuration.", - "additionalProperties" : false, "type" : "object", - "properties" : { - "BucketKeyEnabled" : { - "description" : "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.", - "type" : "boolean" - }, - "ServerSideEncryptionByDefault" : { - "$ref" : "#/definitions/ServerSideEncryptionByDefault" - } - } - }, - "ReplicationDestination" : { - "description" : "Specifies which Amazon S3 bucket to store replicated objects in and their storage class.", "additionalProperties" : false, - "type" : "object", - "properties" : { - "AccessControlTranslation" : { - "$ref" : "#/definitions/AccessControlTranslation" - }, - "Account" : { - "type" : "string" - }, - "Metrics" : { - "$ref" : "#/definitions/Metrics" - }, - "Bucket" : { - "type" : "string" - }, - "EncryptionConfiguration" : { - "$ref" : "#/definitions/EncryptionConfiguration" - }, - "StorageClass" : { - "description" : "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy.", - "type" : "string", - "enum" : [ "DEEP_ARCHIVE", "GLACIER", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "REDUCED_REDUNDANCY", "STANDARD", "STANDARD_IA" ] + "properties" : { + "BucketKeyEnabled" : { + "description" : "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.", + "type" : "boolean" }, - "ReplicationTime" : { - "$ref" : "#/definitions/ReplicationTime" + "ServerSideEncryptionByDefault" : { + "$ref" : "#/definitions/ServerSideEncryptionByDefault" } - }, - "required" : [ "Bucket" ] + } }, - "OwnershipControlsRule" : { - "additionalProperties" : false, + "ServerSideEncryptionByDefault" : { + "description" : "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", "type" : "object", "properties" : { - "ObjectOwnership" : { - "description" : "Specifies an object ownership rule.", + "KMSMasterKeyID" : { + "description" : "\"KMSMasterKeyID\" can only be used when you set the value of SSEAlgorithm as aws:kms or aws:kms:dsse.", + "type" : "string" + }, + "SSEAlgorithm" : { "type" : "string", - "enum" : [ "ObjectWriter", "BucketOwnerPreferred", "BucketOwnerEnforced" ] + "enum" : [ "aws:kms", "AES256", "aws:kms:dsse" ] } - } - }, - "EventBridgeConfiguration" : { - "description" : "Describes the Amazon EventBridge notification configuration for an Amazon S3 bucket.", + }, "additionalProperties" : false, + "required" : [ "SSEAlgorithm" ] + }, + "CorsConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "EventBridgeEnabled" : { - "default" : "true", - "description" : "Specifies whether to send notifications to Amazon EventBridge when events occur in an Amazon S3 bucket.", - "type" : "boolean" + "CorsRules" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/CorsRule", + "maxLength" : 100 + } } }, - "required" : [ "EventBridgeEnabled" ] + "required" : [ "CorsRules" ] }, "CorsRule" : { + "type" : "object", "description" : "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", "additionalProperties" : false, - "type" : "object", "properties" : { - "ExposedHeaders" : { + "AllowedHeaders" : { + "description" : "Headers that are specified in the Access-Control-Request-Headers header.", + "type" : "array", "uniqueItems" : true, - "description" : "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).", "insertionOrder" : true, - "type" : "array", "items" : { "type" : "string" } }, "AllowedMethods" : { - "uniqueItems" : true, "description" : "An HTTP method that you allow the origin to execute.", - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, "items" : { "type" : "string", "enum" : [ "GET", "PUT", "HEAD", "POST", "DELETE" ] } }, "AllowedOrigins" : { - "uniqueItems" : true, "description" : "One or more origins you want customers to be able to access the bucket from.", - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, "items" : { "type" : "string" } }, - "AllowedHeaders" : { + "ExposedHeaders" : { + "description" : "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).", + "type" : "array", "uniqueItems" : true, - "description" : "Headers that are specified in the Access-Control-Request-Headers header.", "insertionOrder" : true, - "type" : "array", "items" : { "type" : "string" } }, - "MaxAge" : { - "description" : "The time in seconds that your browser is to cache the preflight response for the specified resource.", - "type" : "integer", - "minimum" : 0 - }, "Id" : { "description" : "A unique identifier for this rule.", "type" : "string", "maxLength" : 255 + }, + "MaxAge" : { + "description" : "The time in seconds that your browser is to cache the preflight response for the specified resource.", + "type" : "integer", + "minimum" : 0 } }, "required" : [ "AllowedMethods", "AllowedOrigins" ] }, - "AccessControlTranslation" : { - "description" : "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Owner" : { - "const" : "Destination", - "type" : "string" - } - }, - "required" : [ "Owner" ] - }, - "ObjectLockRule" : { - "description" : "The Object Lock rule in place for the specified object.", - "additionalProperties" : false, + "IntelligentTieringConfiguration" : { "type" : "object", - "properties" : { - "DefaultRetention" : { - "$ref" : "#/definitions/DefaultRetention" - } - } - }, - "Rule" : { - "description" : "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, ExpirationDate, ExpirationInDays, NoncurrentVersionExpirationInDays, NoncurrentVersionTransition, NoncurrentVersionTransitions, Transition, or Transitions.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Enabled", "Disabled" ] - }, - "ExpiredObjectDeleteMarker" : { - "type" : "boolean" - }, - "NoncurrentVersionExpirationInDays" : { - "type" : "integer" - }, - "Transitions" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Transition" - } - }, - "ObjectSizeGreaterThan" : { - "pattern" : "[0-9]+", - "type" : "string", - "maxLength" : 20 - }, - "TagFilters" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TagFilter" - } - }, - "NoncurrentVersionTransitions" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/NoncurrentVersionTransition" - } + "Id" : { + "description" : "The ID used to identify the S3 Intelligent-Tiering configuration.", + "type" : "string" }, "Prefix" : { + "description" : "An object key name prefix that identifies the subset of objects to which the rule applies.", "type" : "string" }, - "ObjectSizeLessThan" : { - "pattern" : "[0-9]+", - "type" : "string", - "maxLength" : 20 - }, - "NoncurrentVersionTransition" : { - "$ref" : "#/definitions/NoncurrentVersionTransition" - }, - "ExpirationDate" : { - "$ref" : "#/definitions/iso8601UTC" - }, - "NoncurrentVersionExpiration" : { - "$ref" : "#/definitions/NoncurrentVersionExpiration" - }, - "ExpirationInDays" : { - "type" : "integer" - }, - "Transition" : { - "$ref" : "#/definitions/Transition" - }, - "Id" : { + "Status" : { + "description" : "Specifies the status of the configuration.", "type" : "string", - "maxLength" : 255 - }, - "AbortIncompleteMultipartUpload" : { - "$ref" : "#/definitions/AbortIncompleteMultipartUpload" - } - }, - "required" : [ "Status" ] - }, - "Arn" : { - "description" : "the Amazon Resource Name (ARN) of the specified bucket.", - "type" : "string" - }, - "S3KeyFilter" : { - "description" : "A container for object key name prefix and suffix filtering rules.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Rules" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/FilterRule" - } - } - }, - "required" : [ "Rules" ] - }, - "iso8601UTC" : { - "pattern" : "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "description" : "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", - "type" : "string" - }, - "AnalyticsConfiguration" : { - "description" : "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "StorageClassAnalysis" : { - "$ref" : "#/definitions/StorageClassAnalysis" + "enum" : [ "Disabled", "Enabled" ] }, "TagFilters" : { + "description" : "A container for a key-value pair.", + "type" : "array", "uniqueItems" : true, "insertionOrder" : true, - "type" : "array", "items" : { "$ref" : "#/definitions/TagFilter" } - }, - "Id" : { - "description" : "The ID that identifies the analytics configuration.", - "type" : "string" - }, - "Prefix" : { - "description" : "The prefix that an object must have to be included in the analytics results.", - "type" : "string" - } - }, - "required" : [ "StorageClassAnalysis", "Id" ] - }, - "Destination" : { - "description" : "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "BucketArn" : { - "description" : "The Amazon Resource Name (ARN) of the bucket to which data is exported.", - "type" : "string" - }, - "Format" : { - "description" : "Specifies the file format used when exporting data to Amazon S3.", - "type" : "string", - "enum" : [ "CSV", "ORC", "Parquet" ] - }, - "BucketAccountId" : { - "description" : "The account ID that owns the destination S3 bucket. ", - "type" : "string" - }, - "Prefix" : { - "description" : "The prefix to use when exporting data. The prefix is prepended to all results.", - "type" : "string" - } - }, - "required" : [ "BucketArn", "Format" ] - }, - "RedirectAllRequestsTo" : { - "description" : "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Protocol" : { - "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", - "type" : "string", - "enum" : [ "http", "https" ] - }, - "HostName" : { - "description" : "Name of the host where requests are redirected.", - "type" : "string" + }, + "Tierings" : { + "description" : "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Tiering" + } } }, - "required" : [ "HostName" ] + "required" : [ "Id", "Status", "Tierings" ] }, - "TagFilter" : { - "description" : "Tags to use to identify a subset of objects for an Amazon S3 bucket.", - "additionalProperties" : false, + "Tiering" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string" + "AccessTier" : { + "description" : "S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.", + "type" : "string", + "enum" : [ "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS" ] }, - "Key" : { - "type" : "string" + "Days" : { + "description" : "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", + "type" : "integer" } }, - "required" : [ "Value", "Key" ] + "required" : [ "AccessTier", "Days" ] }, - "WebsiteConfiguration" : { - "description" : "Specifies website configuration parameters for an Amazon S3 bucket.", - "additionalProperties" : false, + "InventoryConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "IndexDocument" : { - "description" : "The name of the index document for the website.", + "Destination" : { + "$ref" : "#/definitions/Destination" + }, + "Enabled" : { + "description" : "Specifies whether the inventory is enabled or disabled.", + "type" : "boolean" + }, + "Id" : { + "description" : "The ID used to identify the inventory configuration.", "type" : "string" }, - "RedirectAllRequestsTo" : { - "$ref" : "#/definitions/RedirectAllRequestsTo" + "IncludedObjectVersions" : { + "description" : "Object versions to include in the inventory list.", + "type" : "string", + "enum" : [ "All", "Current" ] }, - "RoutingRules" : { - "insertionOrder" : true, + "OptionalFields" : { + "description" : "Contains the optional fields that are included in the inventory results.", "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, "items" : { - "$ref" : "#/definitions/RoutingRule" + "type" : "string", + "enum" : [ "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus" ] } }, - "ErrorDocument" : { - "description" : "The name of the error document for the website.", + "Prefix" : { + "description" : "The prefix that is prepended to all inventory results.", "type" : "string" + }, + "ScheduleFrequency" : { + "description" : "Specifies the schedule for generating inventory results.", + "type" : "string", + "enum" : [ "Daily", "Weekly" ] } - } + }, + "required" : [ "Destination", "Enabled", "Id", "IncludedObjectVersions", "ScheduleFrequency" ] }, - "TopicConfiguration" : { - "description" : "The topic to which notifications are sent and the events for which notifications are generated.", - "additionalProperties" : false, + "LifecycleConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Filter" : { - "description" : "The filtering rules that determine for which objects to send notifications.", - "$ref" : "#/definitions/NotificationFilter" - }, - "Event" : { - "description" : "The Amazon S3 bucket event about which to send notifications.", - "type" : "string" - }, - "Topic" : { - "description" : "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", - "type" : "string" + "Rules" : { + "description" : "A lifecycle rule for individual objects in an Amazon S3 bucket.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Rule" + } } }, - "required" : [ "Event", "Topic" ] + "required" : [ "Rules" ] }, - "IntelligentTieringConfiguration" : { - "additionalProperties" : false, + "Rule" : { "type" : "object", + "description" : "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, ExpirationDate, ExpirationInDays, NoncurrentVersionExpirationInDays, NoncurrentVersionTransition, NoncurrentVersionTransitions, Transition, or Transitions.", + "additionalProperties" : false, "properties" : { - "Status" : { - "description" : "Specifies the status of the configuration.", + "AbortIncompleteMultipartUpload" : { + "$ref" : "#/definitions/AbortIncompleteMultipartUpload" + }, + "ExpirationDate" : { + "$ref" : "#/definitions/iso8601UTC" + }, + "ExpirationInDays" : { + "type" : "integer" + }, + "ExpiredObjectDeleteMarker" : { + "type" : "boolean" + }, + "Id" : { "type" : "string", - "enum" : [ "Disabled", "Enabled" ] + "maxLength" : 255 }, - "Tierings" : { + "NoncurrentVersionExpirationInDays" : { + "type" : "integer" + }, + "NoncurrentVersionExpiration" : { + "$ref" : "#/definitions/NoncurrentVersionExpiration" + }, + "NoncurrentVersionTransition" : { + "$ref" : "#/definitions/NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions" : { + "type" : "array", "uniqueItems" : true, - "description" : "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS.", "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/Tiering" + "$ref" : "#/definitions/NoncurrentVersionTransition" } }, + "Prefix" : { + "type" : "string" + }, + "Status" : { + "type" : "string", + "enum" : [ "Enabled", "Disabled" ] + }, "TagFilters" : { + "type" : "array", "uniqueItems" : true, - "description" : "A container for a key-value pair.", "insertionOrder" : true, - "type" : "array", "items" : { "$ref" : "#/definitions/TagFilter" } }, - "Id" : { - "description" : "The ID used to identify the S3 Intelligent-Tiering configuration.", - "type" : "string" + "ObjectSizeGreaterThan" : { + "type" : "string", + "maxLength" : 20, + "pattern" : "[0-9]+" }, - "Prefix" : { - "description" : "An object key name prefix that identifies the subset of objects to which the rule applies.", - "type" : "string" + "ObjectSizeLessThan" : { + "type" : "string", + "maxLength" : 20, + "pattern" : "[0-9]+" + }, + "Transition" : { + "$ref" : "#/definitions/Transition" + }, + "Transitions" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Transition" + } } }, - "required" : [ "Id", "Status", "Tierings" ] + "required" : [ "Status" ] }, - "PublicAccessBlockConfiguration" : { - "description" : "Configuration that defines how Amazon S3 handles public access.", + "AbortIncompleteMultipartUpload" : { + "description" : "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "type" : "object", "additionalProperties" : false, + "properties" : { + "DaysAfterInitiation" : { + "description" : "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "DaysAfterInitiation" ] + }, + "iso8601UTC" : { + "description" : "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", + "type" : "string", + "pattern" : "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$" + }, + "NoncurrentVersionExpiration" : { "type" : "object", + "description" : "Container for the expiration rule that describes when noncurrent objects are expired. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 expire noncurrent object versions at a specific period in the object's lifetime", + "additionalProperties" : false, "properties" : { - "RestrictPublicBuckets" : { - "description" : "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy.\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "type" : "boolean" - }, - "BlockPublicPolicy" : { - "description" : "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\nEnabling this setting doesn't affect existing bucket policies.", - "type" : "boolean" - }, - "BlockPublicAcls" : { - "description" : "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior:\n- PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.\n - PUT Object calls fail if the request includes a public ACL.\nEnabling this setting doesn't affect existing policies or ACLs.", - "type" : "boolean" + "NoncurrentDays" : { + "description" : "Specified the number of days an object is noncurrent before Amazon S3 can perform the associated action", + "type" : "integer" }, - "IgnorePublicAcls" : { - "description" : "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "type" : "boolean" + "NewerNoncurrentVersions" : { + "description" : "Specified the number of newer noncurrent and current versions that must exists before performing the associated action", + "type" : "integer" } - } + }, + "required" : [ "NoncurrentDays" ] }, "NoncurrentVersionTransition" : { + "type" : "object", "description" : "Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime.", "additionalProperties" : false, - "type" : "object", "properties" : { "StorageClass" : { "description" : "The class of storage used to store the object.", @@ -699,429 +601,564 @@ }, "required" : [ "StorageClass", "TransitionInDays" ] }, - "StorageClassAnalysis" : { - "description" : "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", - "additionalProperties" : false, + "Transition" : { "type" : "object", "properties" : { - "DataExport" : { - "$ref" : "#/definitions/DataExport" + "StorageClass" : { + "type" : "string", + "enum" : [ "DEEP_ARCHIVE", "GLACIER", "Glacier", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "STANDARD_IA" ] + }, + "TransitionDate" : { + "$ref" : "#/definitions/iso8601UTC" + }, + "TransitionInDays" : { + "type" : "integer" } - } - }, - "ServerSideEncryptionByDefault" : { - "description" : "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + }, "additionalProperties" : false, + "description" : "You must specify at least one of \"TransitionDate\" and \"TransitionInDays\"", + "required" : [ "StorageClass" ] + }, + "LoggingConfiguration" : { "type" : "object", "properties" : { - "SSEAlgorithm" : { + "DestinationBucketName" : { "type" : "string", - "enum" : [ "aws:kms", "AES256", "aws:kms:dsse" ] + "description" : "The name of an Amazon S3 bucket where Amazon S3 store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the LoggingConfiguration property is defined." }, - "KMSMasterKeyID" : { - "description" : "\"KMSMasterKeyID\" can only be used when you set the value of SSEAlgorithm as aws:kms or aws:kms:dsse.", + "LogFilePrefix" : { "type" : "string" + }, + "TargetObjectKeyFormat" : { + "$ref" : "#/definitions/TargetObjectKeyFormat" } }, - "required" : [ "SSEAlgorithm" ] + "additionalProperties" : false + }, + "TargetObjectKeyFormat" : { + "type" : "object", + "description" : "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "oneOf" : [ { + "additionalProperties" : false, + "properties" : { + "SimplePrefix" : { + "description" : "This format defaults the prefix to the given log file prefix for delivering server access log file.", + "type" : "object", + "additionalProperties" : false + } + }, + "required" : [ "SimplePrefix" ] + }, { + "additionalProperties" : false, + "properties" : { + "PartitionedPrefix" : { + "$ref" : "#/definitions/PartitionedPrefix" + } + }, + "required" : [ "PartitionedPrefix" ] + } ] + }, + "PartitionedPrefix" : { + "type" : "object", + "description" : "This format appends a time based prefix to the given log file prefix for delivering server access log file.", + "properties" : { + "PartitionDateSource" : { + "type" : "string", + "description" : "Date Source for creating a partitioned prefix. This can be event time or delivery time.", + "enum" : [ "EventTime", "DeliveryTime" ] + } + }, + "additionalProperties" : false }, "MetricsConfiguration" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "AccessPointArn" : { "type" : "string" }, + "Id" : { + "type" : "string" + }, + "Prefix" : { + "type" : "string" + }, "TagFilters" : { + "type" : "array", "uniqueItems" : true, "insertionOrder" : true, - "type" : "array", "items" : { "$ref" : "#/definitions/TagFilter" } - }, - "Id" : { - "type" : "string" - }, - "Prefix" : { - "type" : "string" } }, "required" : [ "Id" ] }, - "ObjectLockConfiguration" : { - "additionalProperties" : false, + "NotificationConfiguration" : { + "description" : "Describes the notification configuration for an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { - "ObjectLockEnabled" : { - "const" : "Enabled", - "type" : "string" + "EventBridgeConfiguration" : { + "$ref" : "#/definitions/EventBridgeConfiguration" }, - "Rule" : { - "$ref" : "#/definitions/ObjectLockRule" + "LambdaConfigurations" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/LambdaConfiguration" + } + }, + "QueueConfigurations" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/QueueConfiguration" + } + }, + "TopicConfigurations" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/TopicConfiguration" + } } } }, - "LoggingConfiguration" : { - "additionalProperties" : false, + "EventBridgeConfiguration" : { "type" : "object", + "description" : "Describes the Amazon EventBridge notification configuration for an Amazon S3 bucket.", + "additionalProperties" : false, "properties" : { - "LogFilePrefix" : { - "type" : "string" - }, - "DestinationBucketName" : { - "description" : "The name of an Amazon S3 bucket where Amazon S3 store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the LoggingConfiguration property is defined.", - "type" : "string" + "EventBridgeEnabled" : { + "description" : "Specifies whether to send notifications to Amazon EventBridge when events occur in an Amazon S3 bucket.", + "type" : "boolean", + "default" : "true" } - } + }, + "required" : [ "EventBridgeEnabled" ] }, "LambdaConfiguration" : { + "type" : "object", "description" : "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Function" : { - "description" : "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", + "Event" : { + "description" : "The Amazon S3 bucket event for which to invoke the AWS Lambda function.", "type" : "string" }, "Filter" : { "description" : "The filtering rules that determine which objects invoke the AWS Lambda function.", "$ref" : "#/definitions/NotificationFilter" }, - "Event" : { - "description" : "The Amazon S3 bucket event for which to invoke the AWS Lambda function.", + "Function" : { + "description" : "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", "type" : "string" } }, "required" : [ "Function", "Event" ] }, - "DataExport" : { - "description" : "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "additionalProperties" : false, + "QueueConfiguration" : { "type" : "object", + "description" : "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "additionalProperties" : false, "properties" : { - "Destination" : { - "$ref" : "#/definitions/Destination" + "Event" : { + "description" : "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS.", + "type" : "string" }, - "OutputSchemaVersion" : { - "const" : "V_1", - "description" : "The version of the output schema to use when exporting data.", + "Filter" : { + "description" : "The filtering rules that determine which objects trigger notifications.", + "$ref" : "#/definitions/NotificationFilter" + }, + "Queue" : { + "description" : "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.", "type" : "string" } }, - "required" : [ "Destination", "OutputSchemaVersion" ] + "required" : [ "Event", "Queue" ] }, - "Tiering" : { - "additionalProperties" : false, + "TopicConfiguration" : { "type" : "object", + "description" : "The topic to which notifications are sent and the events for which notifications are generated.", + "additionalProperties" : false, "properties" : { - "AccessTier" : { - "description" : "S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.", - "type" : "string", - "enum" : [ "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS" ] + "Event" : { + "description" : "The Amazon S3 bucket event about which to send notifications.", + "type" : "string" }, - "Days" : { - "description" : "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", - "type" : "integer" + "Filter" : { + "description" : "The filtering rules that determine for which objects to send notifications.", + "$ref" : "#/definitions/NotificationFilter" + }, + "Topic" : { + "description" : "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "type" : "string" } }, - "required" : [ "AccessTier", "Days" ] + "required" : [ "Event", "Topic" ] }, - "ReplicationTime" : { - "additionalProperties" : false, + "NotificationFilter" : { "type" : "object", + "description" : "Specifies object key name filtering rules.", + "additionalProperties" : false, "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] - }, - "Time" : { - "$ref" : "#/definitions/ReplicationTimeValue" + "S3Key" : { + "$ref" : "#/definitions/S3KeyFilter" } }, - "required" : [ "Status", "Time" ] + "required" : [ "S3Key" ] }, - "ReplicationRuleFilter" : { + "S3KeyFilter" : { + "type" : "object", + "description" : "A container for object key name prefix and suffix filtering rules.", "additionalProperties" : false, + "properties" : { + "Rules" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/FilterRule" + } + } + }, + "required" : [ "Rules" ] + }, + "FilterRule" : { "type" : "object", + "description" : "Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.", + "additionalProperties" : false, "properties" : { - "And" : { - "$ref" : "#/definitions/ReplicationRuleAndOperator" - }, - "TagFilter" : { - "$ref" : "#/definitions/TagFilter" + "Name" : { + "type" : "string", + "maxLength" : 1024 }, - "Prefix" : { + "Value" : { "type" : "string" } - } + }, + "required" : [ "Value", "Name" ] }, - "RedirectRule" : { - "description" : "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", - "additionalProperties" : false, + "ObjectLockConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ReplaceKeyWith" : { - "description" : "The specific object key to use in the redirect request.d", - "type" : "string" - }, - "HttpRedirectCode" : { - "description" : "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", - "type" : "string" - }, - "Protocol" : { - "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "ObjectLockEnabled" : { "type" : "string", - "enum" : [ "http", "https" ] - }, - "HostName" : { - "description" : "The host name to use in the redirect request.", - "type" : "string" + "const" : "Enabled" }, - "ReplaceKeyPrefixWith" : { - "description" : "The object key prefix to use in the redirect request.", - "type" : "string" + "Rule" : { + "$ref" : "#/definitions/ObjectLockRule" } } }, - "EncryptionConfiguration" : { - "description" : "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.", - "additionalProperties" : false, + "ObjectLockRule" : { "type" : "object", + "description" : "The Object Lock rule in place for the specified object.", + "additionalProperties" : false, "properties" : { - "ReplicaKmsKeyID" : { - "description" : "Specifies the ID (Key ARN or Alias ARN) of the customer managed customer master key (CMK) stored in AWS Key Management Service (KMS) for the destination bucket.", - "type" : "string" + "DefaultRetention" : { + "$ref" : "#/definitions/DefaultRetention" } - }, - "required" : [ "ReplicaKmsKeyID" ] + } }, - "BucketEncryption" : { - "description" : "Specifies default encryption for a bucket using server-side encryption with either Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS).", + "DefaultRetention" : { + "type" : "object", + "description" : "The default retention period that you want to apply to new objects placed in the specified bucket.", "additionalProperties" : false, + "properties" : { + "Years" : { + "type" : "integer" + }, + "Days" : { + "type" : "integer" + }, + "Mode" : { + "type" : "string", + "enum" : [ "COMPLIANCE", "GOVERNANCE" ] + } + } + }, + "OwnershipControls" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ServerSideEncryptionConfiguration" : { + "Rules" : { + "type" : "array", "uniqueItems" : true, - "description" : "Specifies the default server-side-encryption configuration.", "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/ServerSideEncryptionRule" + "$ref" : "#/definitions/OwnershipControlsRule" } } }, - "required" : [ "ServerSideEncryptionConfiguration" ] + "required" : [ "Rules" ] }, - "NotificationConfiguration" : { - "description" : "Describes the notification configuration for an Amazon S3 bucket.", - "additionalProperties" : false, + "OwnershipControlsRule" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "TopicConfigurations" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TopicConfiguration" - } + "ObjectOwnership" : { + "description" : "Specifies an object ownership rule.", + "type" : "string", + "enum" : [ "ObjectWriter", "BucketOwnerPreferred", "BucketOwnerEnforced" ] + } + } + }, + "PublicAccessBlockConfiguration" : { + "description" : "Configuration that defines how Amazon S3 handles public access.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "BlockPublicAcls" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior:\n- PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.\n - PUT Object calls fail if the request includes a public ACL.\nEnabling this setting doesn't affect existing policies or ACLs." }, - "QueueConfigurations" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/QueueConfiguration" - } + "BlockPublicPolicy" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\nEnabling this setting doesn't affect existing bucket policies." }, - "LambdaConfigurations" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/LambdaConfiguration" - } + "IgnorePublicAcls" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set." }, - "EventBridgeConfiguration" : { - "$ref" : "#/definitions/EventBridgeConfiguration" + "RestrictPublicBuckets" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy.\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked." } } }, - "LifecycleConfiguration" : { - "additionalProperties" : false, + "ReplicationConfiguration" : { "type" : "object", + "description" : "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.", + "additionalProperties" : false, "properties" : { + "Role" : { + "description" : "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects.", + "type" : "string" + }, "Rules" : { + "description" : "A container for one or more replication rules.", + "type" : "array", "uniqueItems" : true, - "description" : "A lifecycle rule for individual objects in an Amazon S3 bucket.", "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/Rule" + "$ref" : "#/definitions/ReplicationRule", + "maxLength" : 1000, + "minLength" : 1 } } }, - "required" : [ "Rules" ] + "required" : [ "Role", "Rules" ] }, - "InventoryConfiguration" : { - "additionalProperties" : false, + "ReplicationRule" : { "type" : "object", + "description" : "Specifies which Amazon S3 objects to replicate and where to store the replicas.", + "additionalProperties" : false, "properties" : { + "DeleteMarkerReplication" : { + "$ref" : "#/definitions/DeleteMarkerReplication" + }, "Destination" : { - "$ref" : "#/definitions/Destination" + "$ref" : "#/definitions/ReplicationDestination" }, - "OptionalFields" : { - "uniqueItems" : true, - "description" : "Contains the optional fields that are included in the inventory results.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus" ] - } + "Filter" : { + "$ref" : "#/definitions/ReplicationRuleFilter" }, - "IncludedObjectVersions" : { - "description" : "Object versions to include in the inventory list.", + "Id" : { + "description" : "A unique identifier for the rule.", "type" : "string", - "enum" : [ "All", "Current" ] + "maxLength" : 255 }, - "Enabled" : { - "description" : "Specifies whether the inventory is enabled or disabled.", - "type" : "boolean" + "Prefix" : { + "description" : "An object key name prefix that identifies the object or objects to which the rule applies.", + "type" : "string", + "maxLength" : 1024 }, - "Id" : { - "description" : "The ID used to identify the inventory configuration.", - "type" : "string" + "Priority" : { + "type" : "integer" }, - "Prefix" : { - "description" : "The prefix that is prepended to all inventory results.", - "type" : "string" + "SourceSelectionCriteria" : { + "$ref" : "#/definitions/SourceSelectionCriteria" }, - "ScheduleFrequency" : { - "description" : "Specifies the schedule for generating inventory results.", + "Status" : { + "description" : "Specifies whether the rule is enabled.", "type" : "string", - "enum" : [ "Daily", "Weekly" ] + "enum" : [ "Disabled", "Enabled" ] } }, - "required" : [ "Destination", "Enabled", "Id", "IncludedObjectVersions", "ScheduleFrequency" ] + "required" : [ "Destination", "Status" ] }, - "ReplicationRuleAndOperator" : { + "DeleteMarkerReplication" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "Disabled", "Enabled" ] + } + } + }, + "ReplicationDestination" : { "type" : "object", + "description" : "Specifies which Amazon S3 bucket to store replicated objects in and their storage class.", + "additionalProperties" : false, "properties" : { - "TagFilters" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TagFilter" - } + "AccessControlTranslation" : { + "$ref" : "#/definitions/AccessControlTranslation" }, - "Prefix" : { + "Account" : { "type" : "string" + }, + "Bucket" : { + "type" : "string" + }, + "EncryptionConfiguration" : { + "$ref" : "#/definitions/EncryptionConfiguration" + }, + "Metrics" : { + "$ref" : "#/definitions/Metrics" + }, + "ReplicationTime" : { + "$ref" : "#/definitions/ReplicationTime" + }, + "StorageClass" : { + "description" : "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy.", + "type" : "string", + "enum" : [ "DEEP_ARCHIVE", "GLACIER", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "REDUCED_REDUNDANCY", "STANDARD", "STANDARD_IA" ] } - } + }, + "required" : [ "Bucket" ] }, - "VersioningConfiguration" : { - "description" : "Describes the versioning state of an Amazon S3 bucket.", - "additionalProperties" : false, + "AccessControlTranslation" : { "type" : "object", + "description" : "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", + "additionalProperties" : false, "properties" : { - "Status" : { - "default" : "Suspended", - "description" : "The versioning state of the bucket.", + "Owner" : { "type" : "string", - "enum" : [ "Enabled", "Suspended" ] + "const" : "Destination" } }, - "required" : [ "Status" ] + "required" : [ "Owner" ] }, - "CorsConfiguration" : { - "additionalProperties" : false, + "EncryptionConfiguration" : { "type" : "object", + "description" : "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.", + "additionalProperties" : false, "properties" : { - "CorsRules" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/CorsRule", - "maxLength" : 100 - } + "ReplicaKmsKeyID" : { + "description" : "Specifies the ID (Key ARN or Alias ARN) of the customer managed customer master key (CMK) stored in AWS Key Management Service (KMS) for the destination bucket.", + "type" : "string" } }, - "required" : [ "CorsRules" ] + "required" : [ "ReplicaKmsKeyID" ] }, - "ReplicaModifications" : { - "additionalProperties" : false, + "Metrics" : { "type" : "object", + "additionalProperties" : false, "properties" : { + "EventThreshold" : { + "$ref" : "#/definitions/ReplicationTimeValue" + }, "Status" : { - "description" : "Specifies whether Amazon S3 replicates modifications on replicas.", "type" : "string", - "enum" : [ "Enabled", "Disabled" ] + "enum" : [ "Disabled", "Enabled" ] } }, "required" : [ "Status" ] }, - "NoncurrentVersionExpiration" : { - "description" : "Container for the expiration rule that describes when noncurrent objects are expired. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 expire noncurrent object versions at a specific period in the object's lifetime", - "additionalProperties" : false, + "ReplicationTimeValue" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "NoncurrentDays" : { - "description" : "Specified the number of days an object is noncurrent before Amazon S3 can perform the associated action", - "type" : "integer" - }, - "NewerNoncurrentVersions" : { - "description" : "Specified the number of newer noncurrent and current versions that must exists before performing the associated action", + "Minutes" : { "type" : "integer" } }, - "required" : [ "NoncurrentDays" ] + "required" : [ "Minutes" ] }, - "QueueConfiguration" : { - "description" : "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "ReplicationTime" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "Disabled", "Enabled" ] + }, + "Time" : { + "$ref" : "#/definitions/ReplicationTimeValue" + } + }, + "required" : [ "Status", "Time" ] + }, + "ReplicationRuleFilter" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Filter" : { - "description" : "The filtering rules that determine which objects trigger notifications.", - "$ref" : "#/definitions/NotificationFilter" + "And" : { + "$ref" : "#/definitions/ReplicationRuleAndOperator" }, - "Event" : { - "description" : "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS.", + "Prefix" : { "type" : "string" }, - "Queue" : { - "description" : "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.", + "TagFilter" : { + "$ref" : "#/definitions/TagFilter" + } + } + }, + "ReplicationRuleAndOperator" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Prefix" : { "type" : "string" + }, + "TagFilters" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/TagFilter" + } } - }, - "required" : [ "Event", "Queue" ] + } }, - "Transition" : { - "description" : "You must specify at least one of \"TransitionDate\" and \"TransitionInDays\"", + "SourceSelectionCriteria" : { + "description" : "A container that describes additional filters for identifying the source objects that you want to replicate.", + "type" : "object", "additionalProperties" : false, + "properties" : { + "ReplicaModifications" : { + "description" : "A filter that you can specify for selection for modifications on replicas.", + "$ref" : "#/definitions/ReplicaModifications" + }, + "SseKmsEncryptedObjects" : { + "description" : "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", + "$ref" : "#/definitions/SseKmsEncryptedObjects" + } + } + }, + "ReplicaModifications" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "TransitionDate" : { - "$ref" : "#/definitions/iso8601UTC" - }, - "StorageClass" : { + "Status" : { + "description" : "Specifies whether Amazon S3 replicates modifications on replicas.", "type" : "string", - "enum" : [ "DEEP_ARCHIVE", "GLACIER", "Glacier", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "STANDARD_IA" ] - }, - "TransitionInDays" : { - "type" : "integer" + "enum" : [ "Enabled", "Disabled" ] } }, - "required" : [ "StorageClass" ] + "required" : [ "Status" ] }, "SseKmsEncryptedObjects" : { + "type" : "object", "description" : "A container for filter information for the selection of S3 objects encrypted with AWS KMS.", "additionalProperties" : false, - "type" : "object", "properties" : { "Status" : { "description" : "Specifies whether Amazon S3 replicates objects created with server-side encryption using a customer master key (CMK) stored in AWS Key Management Service.", @@ -1132,165 +1169,166 @@ "required" : [ "Status" ] }, "Tag" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string", - "maxLength" : 256 - }, "Key" : { - "minLength" : 1, "type" : "string", + "minLength" : 1, "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "maxLength" : 256 } }, "required" : [ "Value", "Key" ] }, - "AbortIncompleteMultipartUpload" : { - "description" : "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", - "additionalProperties" : false, + "VersioningConfiguration" : { + "description" : "Describes the versioning state of an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { - "DaysAfterInitiation" : { - "description" : "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", - "type" : "integer", - "minimum" : 0 + "Status" : { + "description" : "The versioning state of the bucket.", + "type" : "string", + "default" : "Suspended", + "enum" : [ "Enabled", "Suspended" ] } }, - "required" : [ "DaysAfterInitiation" ] - } - }, - "properties" : { - "InventoryConfigurations" : { - "uniqueItems" : true, - "description" : "The inventory configuration for an Amazon S3 bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/InventoryConfiguration" - } + "required" : [ "Status" ] }, "WebsiteConfiguration" : { - "$ref" : "#/definitions/WebsiteConfiguration" - }, - "DualStackDomainName" : { - "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" ], - "description" : "The IPv6 DNS name of the specified bucket. For more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html).", - "type" : "string" - }, - "AccessControl" : { - "description" : "A canned access control list (ACL) that grants predefined permissions to the bucket.", - "type" : "string", - "enum" : [ "AuthenticatedRead", "AwsExecRead", "BucketOwnerFullControl", "BucketOwnerRead", "LogDeliveryWrite", "Private", "PublicRead", "PublicReadWrite" ] - }, - "AnalyticsConfigurations" : { - "uniqueItems" : true, - "description" : "The configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/AnalyticsConfiguration" + "type" : "object", + "description" : "Specifies website configuration parameters for an Amazon S3 bucket.", + "additionalProperties" : false, + "properties" : { + "ErrorDocument" : { + "description" : "The name of the error document for the website.", + "type" : "string" + }, + "IndexDocument" : { + "description" : "The name of the index document for the website.", + "type" : "string" + }, + "RoutingRules" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/RoutingRule" + } + }, + "RedirectAllRequestsTo" : { + "$ref" : "#/definitions/RedirectAllRequestsTo" + } } }, - "AccelerateConfiguration" : { - "description" : "Configuration for the transfer acceleration state.", - "$ref" : "#/definitions/AccelerateConfiguration" - }, - "PublicAccessBlockConfiguration" : { - "$ref" : "#/definitions/PublicAccessBlockConfiguration" - }, - "BucketName" : { - "minLength" : 3, - "pattern" : "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", - "description" : "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", - "type" : "string", - "maxLength" : 63 - }, - "RegionalDomainName" : { - "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" ], - "description" : "Returns the regional domain name of the specified bucket.", - "type" : "string" - }, - "OwnershipControls" : { - "description" : "Specifies the container element for object ownership rules.", - "$ref" : "#/definitions/OwnershipControls" - }, - "ObjectLockConfiguration" : { - "description" : "Places an Object Lock configuration on the specified bucket.", - "$ref" : "#/definitions/ObjectLockConfiguration" - }, - "ObjectLockEnabled" : { - "description" : "Indicates whether this bucket has an Object Lock configuration enabled.", - "type" : "boolean" - }, - "LoggingConfiguration" : { - "description" : "Settings that define where logs are stored.", - "$ref" : "#/definitions/LoggingConfiguration" - }, - "ReplicationConfiguration" : { - "description" : "Configuration for replicating objects in an S3 bucket.", - "$ref" : "#/definitions/ReplicationConfiguration" + "RoutingRule" : { + "description" : "Specifies the redirect behavior and when a redirect is applied.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RedirectRule" : { + "description" : "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", + "$ref" : "#/definitions/RedirectRule" + }, + "RoutingRuleCondition" : { + "$ref" : "#/definitions/RoutingRuleCondition" + } + }, + "required" : [ "RedirectRule" ] }, - "Tags" : { - "description" : "An arbitrary set of tags (key-value pairs) for this S3 bucket.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Tag" + "RedirectRule" : { + "type" : "object", + "description" : "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", + "additionalProperties" : false, + "properties" : { + "HostName" : { + "description" : "The host name to use in the redirect request.", + "type" : "string" + }, + "HttpRedirectCode" : { + "description" : "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", + "type" : "string" + }, + "Protocol" : { + "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "enum" : [ "http", "https" ], + "type" : "string" + }, + "ReplaceKeyPrefixWith" : { + "description" : "The object key prefix to use in the redirect request.", + "type" : "string" + }, + "ReplaceKeyWith" : { + "description" : "The specific object key to use in the redirect request.d", + "type" : "string" + } } }, - "DomainName" : { - "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" ], - "description" : "The IPv4 DNS name of the specified bucket.", - "type" : "string" + "RoutingRuleCondition" : { + "description" : "A container for describing a condition that must be met for the specified redirect to apply.You must specify at least one of HttpErrorCodeReturnedEquals and KeyPrefixEquals", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "KeyPrefixEquals" : { + "description" : "The object key name prefix when the redirect is applied.", + "type" : "string" + }, + "HttpErrorCodeReturnedEquals" : { + "description" : "The HTTP error code when the redirect is applied. ", + "type" : "string" + } + } }, - "BucketEncryption" : { - "$ref" : "#/definitions/BucketEncryption" + "RedirectAllRequestsTo" : { + "description" : "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "HostName" : { + "description" : "Name of the host where requests are redirected.", + "type" : "string" + }, + "Protocol" : { + "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "type" : "string", + "enum" : [ "http", "https" ] + } + }, + "required" : [ "HostName" ] }, - "WebsiteURL" : { - "examples" : [ "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/", "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/" ], - "format" : "uri", - "description" : "The Amazon S3 website endpoint for the specified bucket.", + "Arn" : { + "description" : "the Amazon Resource Name (ARN) of the specified bucket.", "type" : "string" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, + "createOnlyProperties" : [ "/properties/BucketName", "/properties/ObjectLockEnabled" ], + "primaryIdentifier" : [ "/properties/BucketName" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/DomainName", "/properties/DualStackDomainName", "/properties/RegionalDomainName", "/properties/WebsiteURL" ], + "writeOnlyProperties" : [ "/properties/AccessControl", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", "/properties/LifecycleConfiguration/Rules/*/Transition", "/properties/ReplicationConfiguration/Rules/*/Prefix", "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" ], + "handlers" : { + "create" : { + "permissions" : [ "s3:CreateBucket", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutObjectAcl", "s3:PutBucketObjectLockConfiguration", "s3:GetBucketAcl", "s3:ListBucket", "iam:PassRole", "s3:DeleteObject", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration" ] }, - "NotificationConfiguration" : { - "description" : "Configuration that defines how Amazon S3 handles bucket notifications.", - "$ref" : "#/definitions/NotificationConfiguration" - }, - "LifecycleConfiguration" : { - "description" : "Rules that define how Amazon S3 manages objects during their lifetime.", - "$ref" : "#/definitions/LifecycleConfiguration" - }, - "VersioningConfiguration" : { - "$ref" : "#/definitions/VersioningConfiguration" - }, - "MetricsConfigurations" : { - "uniqueItems" : true, - "description" : "Settings that define a metrics configuration for the CloudWatch request metrics from the bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/MetricsConfiguration" - } + "read" : { + "permissions" : [ "s3:GetAccelerateConfiguration", "s3:GetLifecycleConfiguration", "s3:GetBucketPublicAccessBlock", "s3:GetAnalyticsConfiguration", "s3:GetBucketCORS", "s3:GetEncryptionConfiguration", "s3:GetInventoryConfiguration", "s3:GetBucketLogging", "s3:GetMetricsConfiguration", "s3:GetBucketNotification", "s3:GetBucketVersioning", "s3:GetReplicationConfiguration", "S3:GetBucketWebsite", "s3:GetBucketPublicAccessBlock", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketTagging", "s3:GetBucketOwnershipControls", "s3:GetIntelligentTieringConfiguration", "s3:ListBucket" ] }, - "IntelligentTieringConfigurations" : { - "uniqueItems" : true, - "description" : "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/IntelligentTieringConfiguration" - } + "update" : { + "permissions" : [ "s3:PutBucketAcl", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration", "s3:DeleteBucketWebsite", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketObjectLockConfiguration", "s3:DeleteBucketAnalyticsConfiguration", "s3:DeleteBucketCors", "s3:DeleteBucketMetricsConfiguration", "s3:DeleteBucketEncryption", "s3:DeleteBucketLifecycle", "s3:DeleteBucketReplication", "iam:PassRole", "s3:ListBucket" ] }, - "CorsConfiguration" : { - "description" : "Rules that define cross-origin resource sharing of objects in this bucket.", - "$ref" : "#/definitions/CorsConfiguration" + "delete" : { + "permissions" : [ "s3:DeleteBucket", "s3:ListBucket" ] }, - "Arn" : { - "examples" : [ "arn:aws:s3:::mybucket" ], - "description" : "The Amazon Resource Name (ARN) of the specified bucket.", - "$ref" : "#/definitions/Arn" + "list" : { + "permissions" : [ "s3:ListAllMyBuckets" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-s3express-directorybucket.json b/aws-cloudformation-schema/aws-s3express-directorybucket.json index 19d1a7a091..35f4ef3e72 100644 --- a/aws-cloudformation-schema/aws-s3express-directorybucket.json +++ b/aws-cloudformation-schema/aws-s3express-directorybucket.json @@ -4,7 +4,7 @@ "additionalProperties" : false, "properties" : { "BucketName" : { - "description" : "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description" : "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "maxLength" : 63, "pattern" : "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", "type" : "string" @@ -14,14 +14,14 @@ "type" : "string" }, "DataRedundancy" : { - "description" : "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description" : "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "type" : "string", "enum" : [ "SingleAvailabilityZone" ] }, "Arn" : { "$ref" : "#/definitions/Arn", "description" : "Returns the Amazon Resource Name (ARN) of the specified bucket.", - "examples" : [ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az2--x-s3" ] + "examples" : [ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az1--x-s3" ] } }, "definitions" : { diff --git a/aws-cloudformation-schema/aws-sagemaker-app.json b/aws-cloudformation-schema/aws-sagemaker-app.json index dbcfafd740..809e6f5bf8 100644 --- a/aws-cloudformation-schema/aws-sagemaker-app.json +++ b/aws-cloudformation-schema/aws-sagemaker-app.json @@ -58,7 +58,7 @@ "InstanceType" : { "type" : "string", "description" : "The instance type that the image version runs on.", - "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive" ] + "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge" ] }, "SageMakerImageArn" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sagemaker-domain.json b/aws-cloudformation-schema/aws-sagemaker-domain.json index 07f34cc889..5800abadf8 100644 --- a/aws-cloudformation-schema/aws-sagemaker-domain.json +++ b/aws-cloudformation-schema/aws-sagemaker-domain.json @@ -90,6 +90,11 @@ "description" : "The SSO managed application instance ID.", "maxLength" : 256 }, + "SingleSignOnApplicationArn" : { + "type" : "string", + "description" : "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023.", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$" + }, "DomainSettings" : { "$ref" : "#/definitions/DomainSettings" }, @@ -132,6 +137,37 @@ "RSessionAppSettings" : { "$ref" : "#/definitions/RSessionAppSettings" }, + "JupyterLabAppSettings" : { + "$ref" : "#/definitions/JupyterLabAppSettings" + }, + "SpaceStorageSettings" : { + "$ref" : "#/definitions/DefaultSpaceStorageSettings" + }, + "CodeEditorAppSettings" : { + "$ref" : "#/definitions/CodeEditorAppSettings" + }, + "DefaultLandingUri" : { + "type" : "string", + "description" : "Defines which Amazon SageMaker application users are directed to by default.", + "maxLength" : 1023 + }, + "StudioWebPortal" : { + "type" : "string", + "description" : "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "CustomPosixUserConfig" : { + "$ref" : "#/definitions/CustomPosixUserConfig" + }, + "CustomFileSystemConfigs" : { + "type" : "array", + "uniqueItems" : true, + "minItems" : 0, + "maxItems" : 2, + "items" : { + "$ref" : "#/definitions/CustomFileSystemConfig" + } + }, "SecurityGroups" : { "type" : "array", "description" : "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.", @@ -205,7 +241,7 @@ "InstanceType" : { "type" : "string", "description" : "The instance type that the image version runs on.", - "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive" ] + "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge" ] }, "SageMakerImageArn" : { "type" : "string", @@ -249,6 +285,163 @@ } } }, + "JupyterLabAppSettings" : { + "type" : "object", + "description" : "The JupyterLab app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + }, + "CodeRepositories" : { + "type" : "array", + "description" : "A list of CodeRepositories available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CodeRepository" + } + }, + "CustomImages" : { + "type" : "array", + "description" : "A list of custom images for use for JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CustomImage" + } + } + } + }, + "CodeRepository" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RepositoryUrl" : { + "type" : "string", + "description" : "A CodeRepository (valid URL) to be used within Jupyter's Git extension.", + "maxLength" : 256, + "pattern" : "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$" + } + }, + "required" : [ "RepositoryUrl" ] + }, + "DefaultSpaceStorageSettings" : { + "type" : "object", + "description" : "Default storage settings for a space.", + "additionalProperties" : false, + "properties" : { + "DefaultEbsStorageSettings" : { + "$ref" : "#/definitions/DefaultEbsStorageSettings" + } + } + }, + "DefaultEbsStorageSettings" : { + "type" : "object", + "description" : "Properties related to the Amazon Elastic Block Store volume. Must be provided if storage type is Amazon EBS and must not be provided if storage type is not Amazon EBS", + "additionalProperties" : false, + "properties" : { + "DefaultEbsVolumeSizeInGb" : { + "description" : "Default size of the Amazon EBS volume in Gb", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb" : { + "description" : "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb.", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required" : [ "DefaultEbsVolumeSizeInGb", "MaximumEbsVolumeSizeInGb" ] + }, + "SpaceEbsVolumeSizeInGb" : { + "type" : "integer", + "minimum" : 5, + "maximum" : 16384 + }, + "CodeEditorAppSettings" : { + "type" : "object", + "description" : "The CodeEditor app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with CodeEditor apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + } + } + }, + "StudioLifecycleConfigArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength" : 256, + "pattern" : "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" + }, + "CustomPosixUserConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Uid" : { + "type" : "integer", + "minimum" : 10000, + "maximum" : 4000000 + }, + "Gid" : { + "type" : "integer", + "minimum" : 1001, + "maximum" : 4000000 + } + }, + "required" : [ "Uid", "Gid" ] + }, + "CustomFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "EFSFileSystemConfig" : { + "$ref" : "#/definitions/EFSFileSystemConfig" + } + } + }, + "EFSFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "FileSystemPath" : { + "type" : "string", + "pattern" : "^\\/\\S*$", + "minLength" : 1, + "maxLength" : 256 + }, + "FileSystemId" : { + "type" : "string", + "minLength" : 11, + "maxLength" : 21, + "pattern" : "^(fs-[0-9a-f]{8,})$" + } + }, + "required" : [ "FileSystemId" ] + }, "CustomImage" : { "type" : "object", "description" : "A custom SageMaker image.", @@ -406,10 +599,10 @@ } }, "required" : [ "AuthMode", "DefaultUserSettings", "DomainName", "SubnetIds", "VpcId" ], - "createOnlyProperties" : [ "/properties/AppNetworkAccessType", "/properties/AuthMode", "/properties/DomainName", "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "/properties/KmsKeyId", "/properties/SubnetIds", "/properties/VpcId", "/properties/Tags" ], + "createOnlyProperties" : [ "/properties/AuthMode", "/properties/DomainName", "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "/properties/KmsKeyId", "/properties/VpcId", "/properties/Tags" ], "writeOnlyProperties" : [ "/properties/Tags" ], "primaryIdentifier" : [ "/properties/DomainId" ], - "readOnlyProperties" : [ "/properties/DomainArn", "/properties/Url", "/properties/DomainId", "/properties/HomeEfsFileSystemId", "/properties/SecurityGroupIdForDomainBoundary", "/properties/SingleSignOnManagedApplicationInstanceId" ], + "readOnlyProperties" : [ "/properties/DomainArn", "/properties/Url", "/properties/DomainId", "/properties/HomeEfsFileSystemId", "/properties/SecurityGroupIdForDomainBoundary", "/properties/SingleSignOnManagedApplicationInstanceId", "/properties/SingleSignOnApplicationArn" ], "handlers" : { "create" : { "permissions" : [ "sagemaker:CreateApp", "sagemaker:CreateDomain", "sagemaker:DescribeDomain", "sagemaker:DescribeImage", "sagemaker:DescribeImageVersion", "iam:CreateServiceLinkedRole", "iam:PassRole", "efs:CreateFileSystem", "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlainText" ] diff --git a/aws-cloudformation-schema/aws-sagemaker-featuregroup.json b/aws-cloudformation-schema/aws-sagemaker-featuregroup.json index 2662dbbbae..0f6b04f0ae 100644 --- a/aws-cloudformation-schema/aws-sagemaker-featuregroup.json +++ b/aws-cloudformation-schema/aws-sagemaker-featuregroup.json @@ -28,6 +28,7 @@ "type" : "array", "description" : "An Array of Feature Definition", "uniqueItems" : false, + "insertionOrder" : false, "minItems" : 1, "maxItems" : 2500, "items" : { @@ -43,6 +44,9 @@ }, "EnableOnlineStore" : { "type" : "boolean" + }, + "StorageType" : { + "$ref" : "#/definitions/StorageType" } } }, @@ -89,6 +93,7 @@ "type" : "array", "description" : "An array of key-value pair to apply to this resource.", "uniqueItems" : false, + "insertionOrder" : false, "maxItems" : 50, "items" : { "$ref" : "#/definitions/Tag" @@ -117,6 +122,10 @@ "type" : "string", "maxLength" : 2048 }, + "StorageType" : { + "type" : "string", + "enum" : [ "Standard", "InMemory" ] + }, "OnlineStoreSecurityConfig" : { "type" : "object", "additionalProperties" : false, @@ -206,5 +215,12 @@ "list" : { "permissions" : [ "sagemaker:ListFeatureGroups" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : false, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sagemaker-userprofile.json b/aws-cloudformation-schema/aws-sagemaker-userprofile.json index 05c5ee9a1c..da774b5834 100644 --- a/aws-cloudformation-schema/aws-sagemaker-userprofile.json +++ b/aws-cloudformation-schema/aws-sagemaker-userprofile.json @@ -74,6 +74,37 @@ "RStudioServerProAppSettings" : { "$ref" : "#/definitions/RStudioServerProAppSettings" }, + "JupyterLabAppSettings" : { + "$ref" : "#/definitions/JupyterLabAppSettings" + }, + "SpaceStorageSettings" : { + "$ref" : "#/definitions/DefaultSpaceStorageSettings" + }, + "CodeEditorAppSettings" : { + "$ref" : "#/definitions/CodeEditorAppSettings" + }, + "DefaultLandingUri" : { + "type" : "string", + "description" : "Defines which Amazon SageMaker application users are directed to by default.", + "maxLength" : 1023 + }, + "StudioWebPortal" : { + "type" : "string", + "description" : "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "CustomPosixUserConfig" : { + "$ref" : "#/definitions/CustomPosixUserConfig" + }, + "CustomFileSystemConfigs" : { + "type" : "array", + "uniqueItems" : true, + "minItems" : 0, + "maxItems" : 2, + "items" : { + "$ref" : "#/definitions/CustomFileSystemConfig" + } + }, "SecurityGroups" : { "type" : "array", "description" : "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.", @@ -109,7 +140,7 @@ "InstanceType" : { "type" : "string", "description" : "The instance type that the image version runs on.", - "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive" ] + "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge" ] }, "SageMakerImageArn" : { "type" : "string", @@ -146,6 +177,163 @@ } } }, + "JupyterLabAppSettings" : { + "type" : "object", + "description" : "The JupyterLab app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + }, + "CodeRepositories" : { + "type" : "array", + "description" : "A list of CodeRepositories available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CodeRepository" + } + }, + "CustomImages" : { + "type" : "array", + "description" : "A list of custom images available for use for JupyterLab apps", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CustomImage" + } + } + } + }, + "CodeRepository" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RepositoryUrl" : { + "type" : "string", + "description" : "A CodeRepository (valid URL) to be used within Jupyter's Git extension.", + "maxLength" : 256, + "pattern" : "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$" + } + }, + "required" : [ "RepositoryUrl" ] + }, + "DefaultSpaceStorageSettings" : { + "type" : "object", + "description" : "Default storage settings for a space.", + "additionalProperties" : false, + "properties" : { + "DefaultEbsStorageSettings" : { + "$ref" : "#/definitions/DefaultEbsStorageSettings" + } + } + }, + "DefaultEbsStorageSettings" : { + "type" : "object", + "description" : "Properties related to the Amazon Elastic Block Store volume.", + "additionalProperties" : false, + "properties" : { + "DefaultEbsVolumeSizeInGb" : { + "description" : "Default size of the Amazon EBS volume in Gb", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb" : { + "description" : "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb.", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required" : [ "DefaultEbsVolumeSizeInGb", "MaximumEbsVolumeSizeInGb" ] + }, + "SpaceEbsVolumeSizeInGb" : { + "type" : "integer", + "minimum" : 5, + "maximum" : 16384 + }, + "CodeEditorAppSettings" : { + "type" : "object", + "description" : "The CodeEditor app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with CodeEditor apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + } + } + }, + "StudioLifecycleConfigArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength" : 256, + "pattern" : "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" + }, + "CustomPosixUserConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Uid" : { + "type" : "integer", + "minimum" : 10000, + "maximum" : 4000000 + }, + "Gid" : { + "type" : "integer", + "minimum" : 1001, + "maximum" : 4000000 + } + }, + "required" : [ "Uid", "Gid" ] + }, + "CustomFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "EFSFileSystemConfig" : { + "$ref" : "#/definitions/EFSFileSystemConfig" + } + } + }, + "EFSFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "FileSystemPath" : { + "type" : "string", + "pattern" : "^\\/\\S*$", + "minLength" : 1, + "maxLength" : 256 + }, + "FileSystemId" : { + "type" : "string", + "minLength" : 11, + "maxLength" : 21, + "pattern" : "^(fs-[0-9a-f]{8,})$" + } + }, + "required" : [ "FileSystemId" ] + }, "CustomImage" : { "type" : "object", "description" : "A custom SageMaker image.", diff --git a/aws-cloudformation-schema/aws-signer-signingprofile.json b/aws-cloudformation-schema/aws-signer-signingprofile.json index 77589945d1..a1d98ac69e 100644 --- a/aws-cloudformation-schema/aws-signer-signingprofile.json +++ b/aws-cloudformation-schema/aws-signer-signingprofile.json @@ -9,7 +9,7 @@ }, "Arn" : { "type" : "string", - "pattern" : "^arn:aws(-(cn|gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" + "pattern" : "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" }, "ProfileVersion" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sns-subscription.json b/aws-cloudformation-schema/aws-sns-subscription.json index 3549793ea5..00a4f92fff 100644 --- a/aws-cloudformation-schema/aws-sns-subscription.json +++ b/aws-cloudformation-schema/aws-sns-subscription.json @@ -3,6 +3,9 @@ "description" : "Resource Type definition for AWS::SNS::Subscription", "additionalProperties" : false, "properties" : { + "ReplayPolicy" : { + "type" : "object" + }, "RawMessageDelivery" : { "type" : "boolean" }, diff --git a/aws-cloudformation-schema/aws-sns-topic.json b/aws-cloudformation-schema/aws-sns-topic.json index 6a66201c75..643a85387c 100644 --- a/aws-cloudformation-schema/aws-sns-topic.json +++ b/aws-cloudformation-schema/aws-sns-topic.json @@ -121,14 +121,7 @@ "description" : "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch" } }, - "required" : [ "Protocol" ], - "anyOf" : [ { - "required" : [ "SuccessFeedbackRoleArn" ] - }, { - "required" : [ "SuccessFeedbackSampleRate" ] - }, { - "required" : [ "FailureFeedbackRoleArn" ] - } ] + "required" : [ "Protocol" ] } }, "tagging" : { diff --git a/aws-cloudformation-user-guide b/aws-cloudformation-user-guide index 6c68a17aef..19dc52cd3f 160000 --- a/aws-cloudformation-user-guide +++ b/aws-cloudformation-user-guide @@ -1 +1 @@ -Subproject commit 6c68a17aef7f0ccd1f6786f19da341d8c92737e7 +Subproject commit 19dc52cd3f2007d6d268b65b739ffb5ebf8c1e76 diff --git a/provider/cmd/cf2pulumi/schema-full.json b/provider/cmd/cf2pulumi/schema-full.json index f17eaa99d7..c13d2d0939 100644 --- a/provider/cmd/cf2pulumi/schema-full.json +++ b/provider/cmd/cf2pulumi/schema-full.json @@ -478,7 +478,7 @@ "properties": { "unusedAccessAge": { "type": "integer", - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." } }, "type": "object" @@ -11675,7 +11675,11 @@ "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupVCpuCountRequest" } }, - "type": "object" + "type": "object", + "required": [ + "memoryMiB", + "vCpuCount" + ] }, "aws-native:autoscaling:AutoScalingGroupInstancesDistribution": { "properties": { @@ -15146,6 +15150,9 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" } }, "type": "object", @@ -15155,6 +15162,28 @@ "memberAbilities" ] }, + "aws-native:cleanrooms:CollaborationPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, + "aws-native:cleanrooms:CollaborationQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:CollaborationQueryLogStatus": { "type": "string", "enum": [ @@ -15582,6 +15611,17 @@ "value" ] }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "properties": { "s3": { @@ -15625,6 +15665,17 @@ "resultFormat" ] }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string", "enum": [ @@ -17225,6 +17276,21 @@ "name" ] }, + "aws-native:cloudfront:KeyValueStoreImportSource": { + "properties": { + "sourceArn": { + "type": "string" + }, + "sourceType": { + "type": "string" + } + }, + "type": "object", + "required": [ + "sourceArn", + "sourceType" + ] + }, "aws-native:cloudfront:MonitoringSubscription": { "properties": { "realtimeMetricsSubscriptionConfig": { @@ -19044,6 +19110,21 @@ "value" ] }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "properties": { "canaryInterval": { @@ -19091,6 +19172,20 @@ "type" ] }, + "aws-native:codedeploy:DeploymentConfigZonalConfig": { + "properties": { + "firstZoneMonitorDurationInSeconds": { + "type": "integer" + }, + "minimumHealthyHostsPerZone": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone" + }, + "monitorDurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:codedeploy:DeploymentGroupAlarm": { "properties": { "name": { @@ -19767,6 +19862,48 @@ "type" ] }, + "aws-native:codepipeline:PipelineGitConfiguration": { + "properties": { + "push": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineGitPushFilter" + } + }, + "sourceActionName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "sourceActionName" + ] + }, + "aws-native:codepipeline:PipelineGitPushFilter": { + "properties": { + "tags": { + "$ref": "#/types/aws-native:codepipeline:PipelineGitTagFilterCriteria" + } + }, + "type": "object" + }, + "aws-native:codepipeline:PipelineGitTagFilterCriteria": { + "properties": { + "excludes": { + "type": "array", + "items": { + "type": "string" + } + }, + "includes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, "aws-native:codepipeline:PipelineInputArtifact": { "properties": { "name": { @@ -19843,6 +19980,37 @@ "value" ] }, + "aws-native:codepipeline:PipelineTriggerDeclaration": { + "properties": { + "gitConfiguration": { + "$ref": "#/types/aws-native:codepipeline:PipelineGitConfiguration" + }, + "providerType": { + "type": "string" + } + }, + "type": "object", + "required": [ + "providerType" + ] + }, + "aws-native:codepipeline:PipelineVariableDeclaration": { + "properties": { + "defaultValue": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name" + ] + }, "aws-native:codepipeline:WebhookAuthConfiguration": { "properties": { "allowedIpRange": { @@ -22749,6 +22917,44 @@ }, "type": "object" }, + "aws-native:configuration:ConfigurationRecorderRecordingMode": { + "properties": { + "recordingFrequency": { + "type": "string" + }, + "recordingModeOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingModeOverride" + } + } + }, + "type": "object", + "required": [ + "recordingFrequency" + ] + }, + "aws-native:configuration:ConfigurationRecorderRecordingModeOverride": { + "properties": { + "description": { + "type": "string" + }, + "recordingFrequency": { + "type": "string" + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "recordingFrequency", + "resourceTypes" + ] + }, "aws-native:configuration:ConfigurationRecorderRecordingStrategy": { "properties": { "useOnly": { @@ -23805,6 +24011,7 @@ }, "type": "object", "required": [ + "encryptionConfig", "prefix", "retentionPeriodHours" ] @@ -23849,6 +24056,24 @@ } ] }, + "aws-native:connect:InstanceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:connect:IntegrationAssociationIntegrationType": { "description": "Specifies the integration type to be associated with the instance", "type": "string", @@ -23860,6 +24085,10 @@ { "name": "LambdaFunction", "value": "LAMBDA_FUNCTION" + }, + { + "name": "Application", + "value": "APPLICATION" } ] }, @@ -30552,6 +30781,75 @@ "value" ] }, + "aws-native:dms:DataProviderDmsSslModeValue": { + "type": "string", + "enum": [ + { + "name": "None", + "value": "none" + }, + { + "name": "Require", + "value": "require" + }, + { + "name": "VerifyCa", + "value": "verify_ca" + }, + { + "name": "VerifyFull", + "value": "verify_full" + } + ] + }, + "aws-native:dms:DataProviderEngine": { + "description": "The property describes a data engine for the data provider.", + "type": "string", + "enum": [ + { + "name": "Postgresql", + "value": "postgresql" + }, + { + "name": "Mysql", + "value": "mysql" + }, + { + "name": "Oracle", + "value": "oracle" + }, + { + "name": "Sqlserver", + "value": "sqlserver" + }, + { + "name": "Aurora", + "value": "aurora" + }, + { + "name": "AuroraPostgresql", + "value": "aurora_postgresql" + } + ] + }, + "aws-native:dms:DataProviderTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:dms:EndpointDocDbSettings": { "properties": { "docsToInvestigate": { @@ -30646,6 +30944,15 @@ "currentLsn": { "type": "string" }, + "keepCsvFiles": { + "type": "boolean" + }, + "loadTimeout": { + "type": "integer" + }, + "maxFileSize": { + "type": "integer" + }, "maxKBytesPerRead": { "type": "integer" }, @@ -30657,6 +30964,9 @@ }, "setDataCaptureChanges": { "type": "boolean" + }, + "writeBufferSize": { + "type": "integer" } }, "type": "object" @@ -31357,6 +31667,81 @@ "value" ] }, + "aws-native:dms:InstanceProfileNetworkType": { + "description": "The property describes a network type for the instance profile.", + "type": "string", + "enum": [ + { + "name": "Ipv4", + "value": "IPV4" + }, + { + "name": "Ipv6", + "value": "IPV6" + }, + { + "name": "Dual", + "value": "DUAL" + } + ] + }, + "aws-native:dms:InstanceProfileTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:dms:MigrationProjectDataProviderDescriptor": { + "description": "It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject", + "properties": { + "dataProviderArn": { + "type": "string" + }, + "dataProviderIdentifier": { + "type": "string" + }, + "dataProviderName": { + "type": "string" + }, + "secretsManagerAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:MigrationProjectTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:dms:ReplicationConfigComputeConfig": { "description": "Configuration parameters for provisioning a AWS DMS Serverless replication", "properties": { @@ -31477,6 +31862,146 @@ "value" ] }, + "aws-native:dms:SchemaConversionApplicationAttributesProperties": { + "description": "The property describes schema conversion application attributes for the migration project.", + "properties": { + "s3BucketPath": { + "type": "string" + }, + "s3BucketRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0Properties": { + "description": "PostgreSqlSettings property identifier.", + "properties": { + "postgreSqlSettings": { + "$ref": "#/types/aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1Properties": { + "description": "MySqlSettings property identifier.", + "properties": { + "mySqlSettings": { + "$ref": "#/types/aws-native:dms:Settings1PropertiesMySqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1PropertiesMySqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2Properties": { + "description": "OracleSettings property identifier.", + "properties": { + "oracleSettings": { + "$ref": "#/types/aws-native:dms:Settings2PropertiesOracleSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2PropertiesOracleSettingsProperties": { + "properties": { + "asmServer": { + "type": "string" + }, + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "secretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "secretsManagerOracleAsmSecretId": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionSecretId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3Properties": { + "description": "MicrosoftSqlServerSettings property identifier.", + "properties": { + "microsoftSqlServerSettings": { + "$ref": "#/types/aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, "aws-native:docdb:DbClusterParameterGroupTag": { "properties": { "key": { @@ -32363,6 +32888,27 @@ "tags" ] }, + "aws-native:ec2:CpuOptionsProperties": { + "description": "The CPU options for the instance.", + "properties": { + "coreCount": { + "type": "integer" + }, + "threadsPerCore": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:ec2:CreditSpecificationProperties": { + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.", + "properties": { + "cpuCredits": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:ec2:CustomerGatewayTag": { "properties": { "key": { @@ -33350,6 +33896,16 @@ "value" ] }, + "aws-native:ec2:EnclaveOptionsProperties": { + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "properties": { + "enabled": { + "type": "boolean", + "description": "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves." + } + }, + "type": "object" + }, "aws-native:ec2:FlowLogDestinationOptionsPropertiesFileFormat": { "type": "string", "enum": [ @@ -33440,16 +33996,42 @@ } ] }, + "aws-native:ec2:HibernationOptionsProperties": { + "description": "Indicates whether an instance is enabled for hibernation.", + "properties": { + "configured": { + "type": "boolean", + "description": "If you set this parameter to true, your instance is enabled for hibernation." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceAffinity": { + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.", + "type": "string", + "enum": [ + { + "name": "Default", + "value": "default" + }, + { + "name": "Host", + "value": "host" + } + ] + }, "aws-native:ec2:InstanceAssociationParameter": { "properties": { "key": { - "type": "string" + "type": "string", + "description": "The name of an input parameter that is in the associated SSM document." }, "value": { "type": "array", "items": { "type": "string" - } + }, + "description": "The value of an input parameter." } }, "type": "object", @@ -33461,13 +34043,15 @@ "aws-native:ec2:InstanceBlockDeviceMapping": { "properties": { "deviceName": { - "type": "string" + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." }, "ebs": { - "$ref": "#/types/aws-native:ec2:InstanceEbs" + "$ref": "#/types/aws-native:ec2:InstanceEbs", + "description": "Parameters used to automatically set up EBS volumes when the instance is launched." }, "noDevice": { - "$ref": "#/types/aws-native:ec2:InstanceNoDevice" + "$ref": "pulumi.json#/Any" }, "virtualName": { "type": "string" @@ -33494,47 +34078,35 @@ "value" ] }, - "aws-native:ec2:InstanceCpuOptions": { - "properties": { - "coreCount": { - "type": "integer" - }, - "threadsPerCore": { - "type": "integer" - } - }, - "type": "object" - }, - "aws-native:ec2:InstanceCreditSpecification": { - "properties": { - "cpuCredits": { - "type": "string" - } - }, - "type": "object" - }, "aws-native:ec2:InstanceEbs": { "properties": { "deleteOnTermination": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the EBS volume is deleted on instance termination." }, "encrypted": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the volume should be encrypted." }, "iops": { - "type": "integer" + "type": "integer", + "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting." }, "kmsKeyId": { - "type": "string" + "type": "string", + "description": "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used." }, "snapshotId": { - "type": "string" + "type": "string", + "description": "The ID of the snapshot." }, "volumeSize": { - "type": "integer" + "type": "integer", + "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size." }, "volumeType": { - "type": "string" + "type": "string", + "description": "The volume type." } }, "type": "object" @@ -33542,7 +34114,8 @@ "aws-native:ec2:InstanceElasticGpuSpecification": { "properties": { "type": { - "type": "string" + "type": "string", + "description": "The type of Elastic Graphics accelerator." } }, "type": "object", @@ -33553,10 +34126,12 @@ "aws-native:ec2:InstanceElasticInferenceAccelerator": { "properties": { "count": { - "type": "integer" + "type": "integer", + "description": "The number of elastic inference accelerators to attach to the instance." }, "type": { - "type": "string" + "type": "string", + "description": "The type of elastic inference accelerator." } }, "type": "object", @@ -33564,26 +34139,11 @@ "type" ] }, - "aws-native:ec2:InstanceEnclaveOptions": { - "properties": { - "enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "aws-native:ec2:InstanceHibernationOptions": { - "properties": { - "configured": { - "type": "boolean" - } - }, - "type": "object" - }, "aws-native:ec2:InstanceIpv6Address": { "properties": { "ipv6Address": { - "type": "string" + "type": "string", + "description": "The IPv6 address." } }, "type": "object", @@ -33594,24 +34154,25 @@ "aws-native:ec2:InstanceLaunchTemplateSpecification": { "properties": { "launchTemplateId": { - "type": "string" + "type": "string", + "description": "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." }, "launchTemplateName": { - "type": "string" + "type": "string", + "description": "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." }, "version": { - "type": "string" + "type": "string", + "description": "The version number of the launch template." } }, - "type": "object", - "required": [ - "version" - ] + "type": "object" }, "aws-native:ec2:InstanceLicenseSpecification": { "properties": { "licenseConfigurationArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the license configuration." } }, "type": "object", @@ -33622,52 +34183,65 @@ "aws-native:ec2:InstanceNetworkInterface": { "properties": { "associateCarrierIpAddress": { - "type": "boolean" + "type": "boolean", + "description": "Not currently supported by AWS CloudFormation." }, "associatePublicIpAddress": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC." }, "deleteOnTermination": { - "type": "boolean" + "type": "boolean", + "description": "If set to true, the interface is deleted when the instance is terminated." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the network interface." }, "deviceIndex": { - "type": "string" + "type": "string", + "description": "The position of the network interface in the attachment order. A primary network interface has a device index of 0." }, "groupSet": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups for the network interface." }, "ipv6AddressCount": { - "type": "integer" + "type": "integer", + "description": "A number of IPv6 addresses to assign to the network interface." }, "ipv6Addresses": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" - } + }, + "description": "The IPv6 addresses associated with the network interface." }, "networkInterfaceId": { - "type": "string" + "type": "string", + "description": "The ID of the network interface." }, "privateIpAddress": { - "type": "string" + "type": "string", + "description": "The private IPv4 address of the network interface." }, "privateIpAddresses": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstancePrivateIpAddressSpecification" - } + }, + "description": "One or more private IPv4 addresses to assign to the network interface." }, "secondaryPrivateIpAddressCount": { - "type": "integer" + "type": "integer", + "description": "The number of secondary private IPv4 addresses." }, "subnetId": { - "type": "string" + "type": "string", + "description": "The ID of the subnet." } }, "type": "object", @@ -33675,30 +34249,46 @@ "deviceIndex" ] }, - "aws-native:ec2:InstanceNoDevice": { - "type": "object" - }, "aws-native:ec2:InstancePrivateDnsNameOptions": { "properties": { "enableResourceNameDnsARecord": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." }, "enableResourceNameDnsAaaaRecord": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." }, "hostnameType": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType", + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." } }, "type": "object" }, + "aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType": { + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type": "string", + "enum": [ + { + "name": "IpName", + "value": "ip-name" + }, + { + "name": "ResourceName", + "value": "resource-name" + } + ] + }, "aws-native:ec2:InstancePrivateIpAddressSpecification": { "properties": { "primary": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary." }, "privateIpAddress": { - "type": "string" + "type": "string", + "description": "The private IPv4 addresses." } }, "type": "object", @@ -33713,10 +34303,12 @@ "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceAssociationParameter" - } + }, + "description": "The input parameter values to use with the associated SSM document." }, "documentName": { - "type": "string" + "type": "string", + "description": "The name of an SSM document to associate with the instance." } }, "type": "object", @@ -33742,10 +34334,12 @@ "aws-native:ec2:InstanceVolume": { "properties": { "device": { - "type": "string" + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." }, "volumeId": { - "type": "string" + "type": "string", + "description": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone." } }, "type": "object", @@ -37731,6 +38325,10 @@ "aws-native:ec2:VerifiedAccessTrustProviderDeviceOptions": { "description": "The options for device identity based trust providers.", "properties": { + "publicSigningKeyUrl": { + "type": "string", + "description": "URL Verified Access will use to verify authenticity of the device tokens." + }, "tenantId": { "type": "string", "description": "The ID of the tenant application with the device-identity provider." @@ -38114,6 +38712,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -38126,6 +38727,19 @@ "autoScalingGroupArn" ] }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string", "enum": [ @@ -42895,6 +43509,20 @@ } ] }, + "aws-native:emr:StudioIdcUserAssignment": { + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "type": "string", + "enum": [ + { + "name": "Required", + "value": "REQUIRED" + }, + { + "name": "Optional", + "value": "OPTIONAL" + } + ] + }, "aws-native:emr:StudioSessionMappingIdentityType": { "description": "Specifies whether the identity to map to the Studio is a user or a group.", "type": "string", @@ -45008,6 +45636,47 @@ "description": "The actions for the experiment.", "type": "object" }, + "aws-native:fis:ExperimentTemplateExperimentOptions": { + "properties": { + "accountTargeting": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting", + "description": "The account targeting setting for the experiment template." + }, + "emptyTargetResolutionMode": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode", + "description": "The target resolution failure mode for the experiment template." + } + }, + "type": "object" + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting": { + "description": "The account targeting setting for the experiment template.", + "type": "string", + "enum": [ + { + "name": "MultiAccount", + "value": "multi-account" + }, + { + "name": "SingleAccount", + "value": "single-account" + } + ] + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode": { + "description": "The target resolution failure mode for the experiment template.", + "type": "string", + "enum": [ + { + "name": "Fail", + "value": "fail" + }, + { + "name": "Skip", + "value": "skip" + } + ] + }, "aws-native:fis:ExperimentTemplateLogConfiguration": { "properties": { "cloudWatchLogsConfiguration": { @@ -68320,6 +68989,7 @@ ] }, "aws-native:lambda:EventInvokeConfigDestinationConfig": { + "description": "A destination for events after they have been sent to a function for processing.", "properties": { "onFailure": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigOnFailure" @@ -68331,9 +69001,11 @@ "type": "object" }, "aws-native:lambda:EventInvokeConfigOnFailure": { + "description": "The destination configuration for failed invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -68342,9 +69014,11 @@ ] }, "aws-native:lambda:EventInvokeConfigOnSuccess": { + "description": "The destination configuration for successful invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -84387,6 +85061,32 @@ "value" ] }, + "aws-native:osis:PipelineBufferOptions": { + "description": "Key-value pairs to configure buffering.", + "properties": { + "persistentBufferEnabled": { + "type": "boolean", + "description": "Whether persistent buffering should be enabled." + } + }, + "type": "object", + "required": [ + "persistentBufferEnabled" + ] + }, + "aws-native:osis:PipelineEncryptionAtRestOptions": { + "description": "Key-value pairs to configure encryption at rest.", + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + }, + "type": "object", + "required": [ + "kmsKeyArn" + ] + }, "aws-native:osis:PipelineLogPublishingOptions": { "description": "Key-value pairs to configure log publishing.", "properties": { @@ -84408,7 +85108,10 @@ "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "logGroup" + ] }, "aws-native:osis:PipelineTag": { "description": "A key-value pair to associate with a resource.", @@ -84463,7 +85166,10 @@ "description": "A list of subnet IDs associated with the VPC endpoint." } }, - "type": "object" + "type": "object", + "required": [ + "subnetIds" + ] }, "aws-native:panorama:ApplicationInstanceHealthStatus": { "type": "string", @@ -127862,6 +128568,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } }, "type": "object" @@ -128685,6 +129394,10 @@ "value" ] }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "type": "object" + }, "aws-native:s3:BucketTiering": { "properties": { "accessTier": { @@ -129365,7 +130078,7 @@ ] }, "aws-native:s3express:DirectoryBucketDataRedundancy": { - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "type": "string", "enum": [ { @@ -130063,6 +130776,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -130673,6 +131398,43 @@ } ] }, + "aws-native:sagemaker:DomainCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:DomainCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -130695,6 +131457,39 @@ "imageName" ] }, + "aws-native:sagemaker:DomainCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:DomainDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume. Must be provided if storage type is Amazon EBS and must not be provided if storage type is not Amazon EBS", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, "aws-native:sagemaker:DomainDefaultSpaceSettings": { "description": "A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called.", "properties": { @@ -130723,6 +131518,60 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:DomainJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomImage" + }, + "description": "A list of custom images for use for JupyterLab apps." + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -131096,6 +131945,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -131165,10 +132026,29 @@ "aws-native:sagemaker:DomainUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The execution role for the user." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:DomainJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -131193,6 +132073,13 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:DomainSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:DomainUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object", @@ -131200,6 +132087,20 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:EndpointAlarm": { "properties": { "alarmName": { @@ -131776,6 +132677,19 @@ "s3Uri" ] }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string", + "enum": [ + { + "name": "Standard", + "value": "Standard" + }, + { + "name": "InMemory", + "value": "InMemory" + } + ] + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "description": "Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores.", "type": "string", @@ -136147,6 +137061,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } }, "type": "object" @@ -136673,6 +137590,43 @@ "value" ] }, + "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:UserProfileCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -136695,6 +137649,93 @@ "imageName" ] }, + "aws-native:sagemaker:UserProfileCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:UserProfileDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume.", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, + "aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomImage" + }, + "description": "A list of custom images available for use for JupyterLab apps" + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -137025,6 +138066,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -137078,10 +138131,29 @@ "aws-native:sagemaker:UserProfileUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The user profile Amazon Resource Name (ARN)." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -137103,10 +138175,31 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object" }, + "aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:WorkteamCognitoMemberDefinition": { "properties": { "cognitoClientId": { @@ -155920,6 +157013,9 @@ "graphQlDns": { "type": "string" }, + "graphQlEndpointArn": { + "type": "string" + }, "graphQlUrl": { "type": "string" }, @@ -155969,6 +157065,7 @@ "arn", "authenticationType", "graphQlDns", + "graphQlEndpointArn", "graphQlUrl", "name", "realtimeDns", @@ -158637,6 +159734,11 @@ "aws-native:billingconductor:CustomLineItem": { "description": "A custom line item is an one time charge that is applied to a specific billing group's bill.", "properties": { + "accountId": { + "type": "string", + "description": "The account which this custom line item will be charged to", + "replaceOnChanges": true + }, "arn": { "type": "string", "description": "ARN" @@ -158695,6 +159797,10 @@ "productCode" ], "inputProperties": { + "accountId": { + "type": "string", + "description": "The account which this custom line item will be charged to" + }, "billingGroupArn": { "type": "string", "description": "Billing Group ARN" @@ -159305,8 +160411,7 @@ "requiredInputs": [ "monitorName", "monitorType" - ], - "deprecationMessage": "AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:ce:AnomalySubscription": { "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified", @@ -159410,8 +160515,7 @@ "monitorArnList", "subscribers", "subscriptionName" - ], - "deprecationMessage": "AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:ce:CostCategory": { "description": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine.", @@ -159930,6 +161034,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -159980,6 +161088,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -160202,6 +161313,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -160229,6 +161343,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -160298,6 +161415,7 @@ "type": "object", "required": [ "arn", + "imageId", "instanceType" ], "inputProperties": { @@ -160339,6 +161457,7 @@ } }, "requiredInputs": [ + "imageId", "instanceType" ], "deprecationMessage": "EnvironmentEc2 is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." @@ -161568,6 +162687,45 @@ "keyGroupConfig" ] }, + "aws-native:cloudfront:KeyValueStore": { + "description": "Resource Type definition for AWS::CloudFront::KeyValueStore", + "properties": { + "arn": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "importSource": { + "$ref": "#/types/aws-native:cloudfront:KeyValueStoreImportSource" + }, + "name": { + "type": "string", + "replaceOnChanges": true + }, + "status": { + "type": "string" + } + }, + "type": "object", + "required": [ + "arn", + "name", + "status" + ], + "inputProperties": { + "comment": { + "type": "string" + }, + "importSource": { + "$ref": "#/types/aws-native:cloudfront:KeyValueStoreImportSource" + }, + "name": { + "type": "string" + } + }, + "deprecationMessage": "KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + }, "aws-native:cloudfront:MonitoringSubscription": { "description": "Resource Type definition for AWS::CloudFront::MonitoringSubscription", "properties": { @@ -161877,6 +163035,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -161950,6 +163116,14 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -163438,6 +164612,11 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed.", "replaceOnChanges": true + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves", + "replaceOnChanges": true } }, "type": "object", @@ -163457,6 +164636,10 @@ "trafficRoutingConfig": { "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed." + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves" } } }, @@ -163906,6 +165089,9 @@ "type": "string", "replaceOnChanges": true }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -163924,6 +165110,18 @@ "$ref": "#/types/aws-native:codepipeline:PipelineTag" } }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineTriggerDeclaration" + } + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineVariableDeclaration" + } + }, "version": { "type": "string" } @@ -163953,6 +165151,9 @@ "name": { "type": "string" }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -163970,6 +165171,18 @@ "items": { "$ref": "#/types/aws-native:codepipeline:PipelineTag" } + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineTriggerDeclaration" + } + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineVariableDeclaration" + } } }, "requiredInputs": [ @@ -165899,6 +167112,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -165914,6 +167130,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -166727,6 +167946,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "type": "object", @@ -166754,6 +167980,13 @@ "instanceAlias": { "type": "string", "description": "Alias of the new directory created as part of new instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "requiredInputs": [ @@ -171866,6 +173099,118 @@ }, "deprecationMessage": "Certificate is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, + "aws-native:dms:DataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "dataProviderArn", + "dataProviderCreationTime", + "engine" + ], + "inputProperties": { + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "engine" + ] + }, "aws-native:dms:Endpoint": { "description": "Resource Type definition for AWS::DMS::Endpoint", "properties": { @@ -172158,6 +173503,247 @@ ], "deprecationMessage": "EventSubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, + "aws-native:dms:InstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "type": "object", + "required": [ + "instanceProfileArn", + "instanceProfileCreationTime" + ], + "inputProperties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + }, + "aws-native:dms:MigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "type": "object", + "required": [ + "migrationProjectArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + }, "aws-native:dms:ReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "properties": { @@ -172182,7 +173768,8 @@ }, "resourceIdentifier": { "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" + "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource", + "replaceOnChanges": true }, "sourceEndpointArn": { "type": "string", @@ -174639,39 +176226,48 @@ "description": "Resource Type definition for AWS::EC2::Instance", "properties": { "additionalInfo": { - "type": "string" + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." }, "affinity": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." }, "availabilityZone": { "type": "string", + "description": "The Availability Zone of the instance.", "replaceOnChanges": true }, "blockDeviceMappings": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" - } + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." }, "cpuOptions": { - "$ref": "#/types/aws-native:ec2:InstanceCpuOptions", + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance.", "replaceOnChanges": true }, "creditSpecification": { - "$ref": "#/types/aws-native:ec2:InstanceCreditSpecification" + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." }, "disableApiTermination": { - "type": "boolean" + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." }, "ebsOptimized": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." }, "elasticGpuSpecifications": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" }, + "description": "An elastic GPU to associate with the instance.", "replaceOnChanges": true }, "elasticInferenceAccelerators": { @@ -174679,38 +176275,52 @@ "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" }, + "description": "An elastic inference accelerator to associate with the instance.", "replaceOnChanges": true }, "enclaveOptions": { - "$ref": "#/types/aws-native:ec2:InstanceEnclaveOptions", + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", "replaceOnChanges": true }, "hibernationOptions": { - "$ref": "#/types/aws-native:ec2:InstanceHibernationOptions", + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation.", "replaceOnChanges": true }, "hostId": { - "type": "string" + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." }, "hostResourceGroupArn": { "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", "replaceOnChanges": true }, "iamInstanceProfile": { - "type": "string" + "type": "string", + "description": "The IAM instance profile." }, "imageId": { "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", "replaceOnChanges": true }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, "instanceInitiatedShutdownBehavior": { - "type": "string" + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." }, "instanceType": { - "type": "string" + "type": "string", + "description": "The instance type." }, "ipv6AddressCount": { "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", "replaceOnChanges": true }, "ipv6Addresses": { @@ -174718,17 +176328,21 @@ "items": { "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", "replaceOnChanges": true }, "kernelId": { - "type": "string" + "type": "string", + "description": "The ID of the kernel." }, "keyName": { "type": "string", + "description": "The name of the key pair.", "replaceOnChanges": true }, "launchTemplate": { "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances.", "replaceOnChanges": true }, "licenseSpecifications": { @@ -174736,94 +176350,116 @@ "items": { "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" }, + "description": "The license configurations.", "replaceOnChanges": true }, "monitoring": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" }, + "description": "The network interfaces to associate with the instance.", "replaceOnChanges": true }, "placementGroupName": { "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", "replaceOnChanges": true }, "privateDnsName": { - "type": "string" + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." }, "privateDnsNameOptions": { - "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." }, "privateIp": { - "type": "string" + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." }, "privateIpAddress": { "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", "replaceOnChanges": true }, "propagateTagsToVolumeOnCreation": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." }, "publicDnsName": { - "type": "string" + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." }, "publicIp": { - "type": "string" + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." }, "ramdiskId": { - "type": "string" + "type": "string", + "description": "The ID of the RAM disk to select." }, "securityGroupIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups." }, "securityGroups": { "type": "array", "items": { "type": "string" }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", "replaceOnChanges": true }, "sourceDestCheck": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." }, "ssmAssociations": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" - } + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." }, "subnetId": { "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", "replaceOnChanges": true }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceTag" - } + }, + "description": "The tags to add to the instance." }, "tenancy": { - "type": "string" + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." }, "userData": { - "type": "string" + "type": "string", + "description": "The user data to make available to the instance." }, "volumes": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceVolume" - } + }, + "description": "The volumes to attach to the instance." } }, "type": "object", "required": [ + "instanceId", "privateDnsName", "privateIp", "publicDnsName", @@ -174831,160 +176467,199 @@ ], "inputProperties": { "additionalInfo": { - "type": "string" + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." }, "affinity": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." }, "availabilityZone": { - "type": "string" + "type": "string", + "description": "The Availability Zone of the instance." }, "blockDeviceMappings": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" - } + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." }, "cpuOptions": { - "$ref": "#/types/aws-native:ec2:InstanceCpuOptions" + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance." }, "creditSpecification": { - "$ref": "#/types/aws-native:ec2:InstanceCreditSpecification" + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." }, "disableApiTermination": { - "type": "boolean" + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." }, "ebsOptimized": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." }, "elasticGpuSpecifications": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" - } + }, + "description": "An elastic GPU to associate with the instance." }, "elasticInferenceAccelerators": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" - } + }, + "description": "An elastic inference accelerator to associate with the instance." }, "enclaveOptions": { - "$ref": "#/types/aws-native:ec2:InstanceEnclaveOptions" + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves." }, "hibernationOptions": { - "$ref": "#/types/aws-native:ec2:InstanceHibernationOptions" + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation." }, "hostId": { - "type": "string" + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." }, "hostResourceGroupArn": { - "type": "string" + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host." }, "iamInstanceProfile": { - "type": "string" + "type": "string", + "description": "The IAM instance profile." }, "imageId": { - "type": "string" + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template." }, "instanceInitiatedShutdownBehavior": { - "type": "string" + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." }, "instanceType": { - "type": "string" + "type": "string", + "description": "The instance type." }, "ipv6AddressCount": { - "type": "integer" + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet." }, "ipv6Addresses": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" - } + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface." }, "kernelId": { - "type": "string" + "type": "string", + "description": "The ID of the kernel." }, "keyName": { - "type": "string" + "type": "string", + "description": "The name of the key pair." }, "launchTemplate": { - "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification" + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances." }, "licenseSpecifications": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" - } + }, + "description": "The license configurations." }, "monitoring": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" - } + }, + "description": "The network interfaces to associate with the instance." }, "placementGroupName": { - "type": "string" + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread)." }, "privateDnsNameOptions": { - "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." }, "privateIpAddress": { - "type": "string" + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet." }, "propagateTagsToVolumeOnCreation": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." }, "ramdiskId": { - "type": "string" + "type": "string", + "description": "The ID of the RAM disk to select." }, "securityGroupIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups." }, "securityGroups": { "type": "array", "items": { "type": "string" - } + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead." }, "sourceDestCheck": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." }, "ssmAssociations": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" - } + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." }, "subnetId": { - "type": "string" + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n" }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceTag" - } + }, + "description": "The tags to add to the instance." }, "tenancy": { - "type": "string" + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." }, "userData": { - "type": "string" + "type": "string", + "description": "The user data to make available to the instance." }, "volumes": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceVolume" - } + }, + "description": "The volumes to attach to the instance." } - }, - "deprecationMessage": "Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:ec2:InstanceConnectEndpoint": { "description": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint", @@ -177436,37 +179111,46 @@ "properties": { "cidrIp": { "type": "string", + "description": "The IPv4 ranges", "replaceOnChanges": true }, "cidrIpv6": { "type": "string", + "description": "[VPC only] The IPv6 ranges", "replaceOnChanges": true }, "description": { - "type": "string" + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." }, "destinationPrefixListId": { "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list.", "replaceOnChanges": true }, "destinationSecurityGroupId": { "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", "replaceOnChanges": true }, "fromPort": { "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", "replaceOnChanges": true }, "groupId": { "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", "replaceOnChanges": true }, "ipProtocol": { "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", "replaceOnChanges": true }, "toPort": { "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", "replaceOnChanges": true } }, @@ -177477,38 +179161,46 @@ ], "inputProperties": { "cidrIp": { - "type": "string" + "type": "string", + "description": "The IPv4 ranges" }, "cidrIpv6": { - "type": "string" + "type": "string", + "description": "[VPC only] The IPv6 ranges" }, "description": { - "type": "string" + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." }, "destinationPrefixListId": { - "type": "string" + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list." }, "destinationSecurityGroupId": { - "type": "string" + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6)." }, "fromPort": { - "type": "integer" + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes." }, "groupId": { - "type": "string" + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." }, "ipProtocol": { - "type": "string" + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed." }, "toPort": { - "type": "integer" + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes." } }, "requiredInputs": [ "groupId", "ipProtocol" - ], - "deprecationMessage": "SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:ec2:SecurityGroupIngress": { "description": "Resource Type definition for AWS::EC2::SecurityGroupIngress", @@ -183196,10 +184888,8 @@ "required": [ "arn", "createTime", - "endpoint", "engine", "fullEngineVersion", - "readerEndpoint", "serverlessCacheName", "status" ], @@ -183215,6 +184905,9 @@ "type": "string", "description": "The description of the Serverless Cache." }, + "endpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "engine": { "type": "string", "description": "The engine name of the Serverless Cache." @@ -183231,6 +184924,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -185276,11 +186972,26 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "replaceOnChanges": true + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.", "replaceOnChanges": true }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application.", + "replaceOnChanges": true + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "replaceOnChanges": true + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -185316,6 +187027,11 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "replaceOnChanges": true + }, "url": { "type": "string", "description": "The unique Studio access URL." @@ -185363,10 +187079,22 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3." + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId." }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application." + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio." + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -185397,6 +187125,10 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false." + }, "userRole": { "type": "string", "description": "The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies." @@ -186428,74 +188160,92 @@ "description": "Resource Type definition for AWS::EventSchemas::Discoverer", "properties": { "crossAccount": { - "type": "boolean" + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." }, "description": { - "type": "string" + "type": "string", + "description": "A description for the discoverer." }, "discovererArn": { - "type": "string" + "type": "string", + "description": "The ARN of the discoverer." }, "discovererId": { - "type": "string" + "type": "string", + "description": "The Id of the discoverer." }, "sourceArn": { "type": "string", + "description": "The ARN of the event bus.", "replaceOnChanges": true }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" - } + }, + "description": "Tags associated with the resource." } }, "type": "object", "required": [ "discovererArn", "discovererId", - "sourceArn" + "sourceArn", + "state" ], "inputProperties": { "crossAccount": { - "type": "boolean" + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." }, "description": { - "type": "string" + "type": "string", + "description": "A description for the discoverer." }, "sourceArn": { - "type": "string" + "type": "string", + "description": "The ARN of the event bus." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" - } + }, + "description": "Tags associated with the resource." } }, "requiredInputs": [ "sourceArn" - ], - "deprecationMessage": "Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:eventschemas:Registry": { "description": "Resource Type definition for AWS::EventSchemas::Registry", "properties": { "description": { - "type": "string" + "type": "string", + "description": "A description of the registry to be created." }, "registryArn": { - "type": "string" + "type": "string", + "description": "The ARN of the registry." }, "registryName": { "type": "string", + "description": "The name of the schema registry.", "replaceOnChanges": true }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" - } + }, + "description": "Tags associated with the resource." } }, "type": "object", @@ -186504,19 +188254,21 @@ ], "inputProperties": { "description": { - "type": "string" + "type": "string", + "description": "A description of the registry to be created." }, "registryName": { - "type": "string" + "type": "string", + "description": "The name of the schema registry." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" - } + }, + "description": "Tags associated with the resource." } - }, - "deprecationMessage": "Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:eventschemas:RegistryPolicy": { "description": "Resource Type definition for AWS::EventSchemas::RegistryPolicy", @@ -187175,6 +188927,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -187210,6 +188965,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -187237,6 +188995,50 @@ "targets" ] }, + "aws-native:fis:TargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "properties": { + "accountId": { + "type": "string", + "replaceOnChanges": true + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string", + "replaceOnChanges": true + }, + "roleArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "accountId", + "experimentTemplateId", + "roleArn" + ], + "inputProperties": { + "accountId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "requiredInputs": [ + "accountId", + "experimentTemplateId", + "roleArn" + ] + }, "aws-native:fms:NotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "properties": { @@ -202128,23 +203930,27 @@ ] }, "aws-native:lambda:EventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "properties": { "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { "type": "string", + "description": "The name of the Lambda function.", "replaceOnChanges": true }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { "type": "string", + "description": "The identifier of a version or alias.", "replaceOnChanges": true } }, @@ -202158,16 +203964,20 @@ "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { - "type": "string" + "type": "string", + "description": "The name of the Lambda function." }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { - "type": "string" + "type": "string", + "description": "The identifier of a version or alias." } }, "requiredInputs": [ @@ -202483,10 +204293,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -202611,10 +204417,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -205148,28 +206950,28 @@ ] }, "aws-native:logs:Delivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object.", + "description": "The ARN of the delivery destination that is associated with this delivery.", "replaceOnChanges": true }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object.", + "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, "tags": { @@ -205177,7 +206979,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "type": "object", @@ -205191,18 +206993,18 @@ "inputProperties": { "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object." + "description": "The ARN of the delivery destination that is associated with this delivery." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object." + "description": "The name of the delivery source that is associated with this delivery." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "requiredInputs": [ @@ -205211,11 +207013,11 @@ ] }, "aws-native:logs:DeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -205223,16 +207025,16 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource.", + "description": "The ARN of the AWS resource that will receive the logs.", "replaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination.", + "description": "The name of this delivery destination.", "replaceOnChanges": true }, "tags": { @@ -205240,7 +207042,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "type": "object", @@ -205256,27 +207058,27 @@ }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource." + "description": "The ARN of the AWS resource that will receive the logs." }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } }, "aws-native:logs:DeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -205296,18 +207098,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "type": "object", @@ -205335,7 +207137,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } }, @@ -213915,6 +215717,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -213931,6 +215736,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -213965,6 +215773,7 @@ "arn", "domainArn", "domainEndpoint", + "domainEndpointV2", "domainEndpoints", "serviceSoftwareOptions" ], @@ -213999,6 +215808,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -215316,6 +217128,12 @@ "aws-native:osis:Pipeline": { "description": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper.", "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -215376,6 +217194,12 @@ "vpcEndpoints" ], "inputProperties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "logPublishingOptions": { "$ref": "#/types/aws-native:osis:PipelineLogPublishingOptions" }, @@ -226386,12 +228210,12 @@ }, "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "replaceOnChanges": true }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, "locationName": { @@ -226409,11 +228233,11 @@ "inputProperties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket." + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, "locationName": { "type": "string", @@ -227173,8 +228997,7 @@ "properties": { "appNetworkAccessType": { "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", - "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", - "replaceOnChanges": true + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", @@ -227222,6 +229045,10 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." @@ -227231,8 +229058,7 @@ "items": { "type": "string" }, - "description": "The VPC subnets that Studio uses for communication.", - "replaceOnChanges": true + "description": "The VPC subnets that Studio uses for communication." }, "tags": { "type": "array", @@ -227261,6 +229087,7 @@ "domainName", "homeEfsFileSystemId", "securityGroupIdForDomainBoundary", + "singleSignOnApplicationArn", "singleSignOnManagedApplicationInstanceId", "subnetIds", "url", @@ -232207,6 +234034,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" }, @@ -232245,6 +234075,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" }, @@ -242838,6 +244671,9 @@ "graphQlDns": { "type": "string" }, + "graphQlEndpointArn": { + "type": "string" + }, "graphQlUrl": { "type": "string" }, @@ -245059,6 +246895,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -245872,6 +247711,35 @@ } } }, + "aws-native:cloudfront:getKeyValueStore": { + "description": "Resource Type definition for AWS::CloudFront::KeyValueStore", + "inputs": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + }, "aws-native:cloudfront:getMonitoringSubscription": { "description": "Resource Type definition for AWS::CloudFront::MonitoringSubscription", "inputs": { @@ -246129,6 +247997,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -247205,6 +249081,9 @@ "id": { "type": "string" }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -247223,6 +249102,18 @@ "$ref": "#/types/aws-native:codepipeline:PipelineTag" } }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineTriggerDeclaration" + } + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineVariableDeclaration" + } + }, "version": { "type": "string" } @@ -248250,6 +250141,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -248730,6 +250624,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } } } @@ -251532,6 +253433,68 @@ } } }, + "aws-native:dms:getDataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "inputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + } + }, + "required": [ + "dataProviderArn" + ] + }, + "outputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, "aws-native:dms:getEndpoint": { "description": "Resource Type definition for AWS::DMS::Endpoint", "inputs": { @@ -251686,6 +253649,145 @@ } } }, + "aws-native:dms:getInstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "inputs": { + "properties": { + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + } + }, + "required": [ + "instanceProfileArn" + ] + }, + "outputs": { + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + } + }, + "aws-native:dms:getMigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "inputs": { + "properties": { + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + } + }, + "required": [ + "migrationProjectArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + } + }, "aws-native:dms:getReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "inputs": { @@ -251720,10 +253822,6 @@ "$ref": "#/types/aws-native:dms:ReplicationConfigReplicationType", "description": "The type of AWS DMS Serverless replication to provision using this replication configuration" }, - "resourceIdentifier": { - "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" - }, "sourceEndpointArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration" @@ -252819,111 +254917,124 @@ "description": "Resource Type definition for AWS::EC2::Instance", "inputs": { "properties": { - "id": { - "type": "string" + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." } }, "required": [ - "id" + "instanceId" ] }, "outputs": { "properties": { - "additionalInfo": { - "type": "string" - }, "affinity": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." }, "blockDeviceMappings": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" - } + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." }, "creditSpecification": { - "$ref": "#/types/aws-native:ec2:InstanceCreditSpecification" + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." }, "disableApiTermination": { - "type": "boolean" + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." }, "ebsOptimized": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." }, "hostId": { - "type": "string" + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." }, "iamInstanceProfile": { - "type": "string" + "type": "string", + "description": "The IAM instance profile." }, - "id": { - "type": "string" + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." }, "instanceInitiatedShutdownBehavior": { - "type": "string" + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." }, "instanceType": { - "type": "string" + "type": "string", + "description": "The instance type." }, "kernelId": { - "type": "string" + "type": "string", + "description": "The ID of the kernel." }, "monitoring": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." }, "privateDnsName": { - "type": "string" + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." }, "privateDnsNameOptions": { - "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." }, "privateIp": { - "type": "string" - }, - "propagateTagsToVolumeOnCreation": { - "type": "boolean" + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." }, "publicDnsName": { - "type": "string" + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." }, "publicIp": { - "type": "string" + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." }, "ramdiskId": { - "type": "string" + "type": "string", + "description": "The ID of the RAM disk to select." }, "securityGroupIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups." }, "sourceDestCheck": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." }, "ssmAssociations": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" - } + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceTag" - } + }, + "description": "The tags to add to the instance." }, "tenancy": { - "type": "string" + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." }, "userData": { - "type": "string" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:ec2:InstanceVolume" - } + "type": "string", + "description": "The user data to make available to the instance." } } } @@ -254277,7 +256388,8 @@ "inputs": { "properties": { "id": { - "type": "string" + "type": "string", + "description": "The Security Group Rule Id" } }, "required": [ @@ -254287,10 +256399,12 @@ "outputs": { "properties": { "description": { - "type": "string" + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." }, "id": { - "type": "string" + "type": "string", + "description": "The Security Group Rule Id" } } } @@ -258645,33 +260759,43 @@ "description": "Resource Type definition for AWS::EventSchemas::Discoverer", "inputs": { "properties": { - "discovererId": { - "type": "string" + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." } }, "required": [ - "discovererId" + "discovererArn" ] }, "outputs": { "properties": { "crossAccount": { - "type": "boolean" + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." }, "description": { - "type": "string" + "type": "string", + "description": "A description for the discoverer." }, "discovererArn": { - "type": "string" + "type": "string", + "description": "The ARN of the discoverer." }, "discovererId": { - "type": "string" + "type": "string", + "description": "The Id of the discoverer." + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" - } + }, + "description": "Tags associated with the resource." } } } @@ -258680,30 +260804,31 @@ "description": "Resource Type definition for AWS::EventSchemas::Registry", "inputs": { "properties": { - "id": { - "type": "string" + "registryArn": { + "type": "string", + "description": "The ARN of the registry." } }, "required": [ - "id" + "registryArn" ] }, "outputs": { "properties": { "description": { - "type": "string" - }, - "id": { - "type": "string" + "type": "string", + "description": "A description of the registry to be created." }, "registryArn": { - "type": "string" + "type": "string", + "description": "The ARN of the registry." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" - } + }, + "description": "Tags associated with the resource." } } } @@ -259092,6 +261217,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "id": { "type": "string" }, @@ -259113,6 +261241,33 @@ } } }, + "aws-native:fis:getTargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "inputs": { + "properties": { + "accountId": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + } + }, + "required": [ + "experimentTemplateId", + "accountId" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + } + } + }, "aws-native:fms:getNotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "inputs": { @@ -267797,15 +269952,21 @@ } }, "aws-native:lambda:getEventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "inputs": { "properties": { - "id": { - "type": "string" + "functionName": { + "type": "string", + "description": "The name of the Lambda function." + }, + "qualifier": { + "type": "string", + "description": "The identifier of a version or alias." } }, "required": [ - "id" + "functionName", + "qualifier" ] }, "outputs": { @@ -267813,14 +269974,13 @@ "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, - "id": { - "type": "string" - }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." } } } @@ -269261,12 +271421,12 @@ } }, "aws-native:logs:getDelivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "inputs": { "properties": { "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." } }, "required": [ @@ -269277,33 +271437,33 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } } } }, "aws-native:logs:getDeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "inputs": { "properties": { "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." } }, "required": [ @@ -269314,7 +271474,7 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -269322,20 +271482,20 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } } }, "aws-native:logs:getDeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "inputs": { "properties": { "name": { @@ -269351,7 +271511,7 @@ "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -269362,18 +271522,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } } @@ -274057,6 +276217,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -274072,6 +276235,9 @@ "id": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -274775,6 +276941,12 @@ }, "outputs": { "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -279887,13 +282059,13 @@ "description": "Resource schema for AWS::Route53Resolver::ResolverConfig.", "inputs": { "properties": { - "id": { + "resourceId": { "type": "string", - "description": "Id" + "description": "ResourceId" } }, "required": [ - "id" + "resourceId" ] }, "outputs": { @@ -280602,7 +282774,7 @@ "properties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." } }, "required": [ @@ -280978,6 +283150,10 @@ }, "outputs": { "properties": { + "appNetworkAccessType": { + "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." + }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", "description": "The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided." @@ -281009,10 +283185,21 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The VPC subnets that Studio uses for communication." + }, "url": { "type": "string", "description": "The URL to the created domain." @@ -283669,6 +285856,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" } diff --git a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt index 9cc84229cd..04394f3d99 100644 --- a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt @@ -1,7 +1,6 @@ AWS::Cognito::IdentityPool AWS::GameCast::Application AWS::GameCast::StreamGroup -AWS::Lambda::EventInvokeConfig AWS::SNS::TopicPolicy AWSQS::EKS::Cluster AWSQS::Kubernetes::Get diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 710ba0fef3..8af402b2d6 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -94,6 +94,8 @@ AWS::Batch::ComputeEnvironment AWS::Batch::JobQueue AWS::Batch::SchedulingPolicy AWS::Budgets::BudgetsAction +AWS::CE::AnomalyMonitor +AWS::CE::AnomalySubscription AWS::CE::CostCategory AWS::Cassandra::Keyspace AWS::Cassandra::Table @@ -193,6 +195,9 @@ AWS::CustomerProfiles::Domain AWS::CustomerProfiles::EventStream AWS::CustomerProfiles::Integration AWS::CustomerProfiles::ObjectType +AWS::DMS::DataProvider +AWS::DMS::InstanceProfile +AWS::DMS::MigrationProject AWS::DMS::ReplicationConfig AWS::DataBrew::Dataset AWS::DataBrew::Job @@ -251,6 +256,7 @@ AWS::EC2::IPAMPoolCidr AWS::EC2::IPAMResourceDiscovery AWS::EC2::IPAMResourceDiscoveryAssociation AWS::EC2::IPAMScope +AWS::EC2::Instance AWS::EC2::InstanceConnectEndpoint AWS::EC2::InternetGateway AWS::EC2::KeyPair @@ -272,6 +278,7 @@ AWS::EC2::PlacementGroup AWS::EC2::PrefixList AWS::EC2::Route AWS::EC2::RouteTable +AWS::EC2::SecurityGroupEgress AWS::EC2::SpotFleet AWS::EC2::Subnet AWS::EC2::SubnetCidrBlock @@ -348,6 +355,8 @@ AWS::ElasticLoadBalancingV2::TrustStoreRevocation AWS::EntityResolution::IdMappingWorkflow AWS::EntityResolution::MatchingWorkflow AWS::EntityResolution::SchemaMapping +AWS::EventSchemas::Discoverer +AWS::EventSchemas::Registry AWS::EventSchemas::RegistryPolicy AWS::Events::ApiDestination AWS::Events::Archive @@ -361,6 +370,7 @@ AWS::Evidently::Launch AWS::Evidently::Project AWS::Evidently::Segment AWS::FIS::ExperimentTemplate +AWS::FIS::TargetAccountConfiguration AWS::FMS::NotificationChannel AWS::FMS::Policy AWS::FMS::ResourceSet diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 3d192c028d..185fbc510b 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -8224,6 +8224,192 @@ "tableName" ] }, + "aws-native:ce:AnomalyMonitor": { + "cf": "AWS::CE::AnomalyMonitor", + "inputs": { + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate" + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string" + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor." + } + }, + "outputs": { + "creationDate": { + "type": "string", + "description": "The date when the monitor was created. " + }, + "dimensionalValueCount": { + "type": "integer", + "description": "The value for evaluated dimensions." + }, + "lastEvaluatedDate": { + "type": "string", + "description": "The date when the monitor last evaluated for anomalies." + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date when the monitor was last updated." + }, + "monitorArn": { + "type": "string" + }, + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate", + "replaceOnChanges": true + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string", + "replaceOnChanges": true + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType", + "replaceOnChanges": true + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor.", + "replaceOnChanges": true + } + }, + "required": [ + "monitorName", + "monitorType" + ], + "createOnly": [ + "monitorDimension", + "monitorSpecification", + "monitorType", + "resourceTags" + ], + "writeOnly": [ + "resourceTags" + ] + }, + "aws-native:ce:AnomalySubscription": { + "cf": "AWS::CE::AnomalySubscription", + "inputs": { + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription." + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "outputs": { + "accountId": { + "type": "string", + "description": "The accountId" + }, + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription.", + "replaceOnChanges": true + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionArn": { + "type": "string" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "required": [ + "frequency", + "monitorArnList", + "subscribers", + "subscriptionName" + ], + "createOnly": [ + "resourceTags" + ], + "writeOnly": [ + "resourceTags" + ] + }, "aws-native:ce:CostCategory": { "cf": "AWS::CE::CostCategory", "inputs": { @@ -8635,6 +8821,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -8679,6 +8868,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -8723,6 +8916,7 @@ "createOnly": [ "creatorDisplayName", "creatorMemberAbilities", + "creatorPaymentConfiguration", "dataEncryptionMetadata", "members", "queryLogStatus" @@ -8904,6 +9098,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -8935,6 +9132,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -10311,6 +10511,14 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -10377,6 +10585,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -11378,6 +11594,10 @@ "trafficRoutingConfig": { "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed." + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves" } }, "outputs": { @@ -11400,6 +11620,11 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed.", "replaceOnChanges": true + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves", + "replaceOnChanges": true } }, "autoNamingSpec": { @@ -11409,7 +11634,8 @@ "computePlatform", "deploymentConfigName", "minimumHealthyHosts", - "trafficRoutingConfig" + "trafficRoutingConfig", + "zonalConfig" ] }, "aws-native:codeguruprofiler:ProfilingGroup": { @@ -13814,6 +14040,13 @@ "instanceAlias": { "type": "string", "description": "Alias of the new directory created as part of new instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "outputs": { @@ -13851,6 +14084,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "required": [ @@ -18464,6 +18704,372 @@ "password" ] }, + "aws-native:dms:DataProvider": { + "cf": "AWS::DMS::DataProvider", + "inputs": { + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "outputs": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "autoNamingSpec": { + "sdkName": "dataProviderName", + "minLength": 1, + "maxLength": 255 + }, + "required": [ + "engine" + ], + "writeOnly": [ + "dataProviderIdentifier", + "exactSettings" + ] + }, + "aws-native:dms:InstanceProfile": { + "cf": "AWS::DMS::InstanceProfile", + "inputs": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "outputs": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "autoNamingSpec": { + "sdkName": "instanceProfileName", + "minLength": 1, + "maxLength": 255 + }, + "writeOnly": [ + "instanceProfileIdentifier" + ] + }, + "aws-native:dms:MigrationProject": { + "cf": "AWS::DMS::MigrationProject", + "inputs": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "outputs": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "autoNamingSpec": { + "sdkName": "migrationProjectName", + "minLength": 1, + "maxLength": 255 + }, + "writeOnly": [ + "instanceProfileIdentifier", + "migrationProjectIdentifier", + "sourceDataProviderDescriptors/*/DataProviderIdentifier", + "targetDataProviderDescriptors/*/DataProviderIdentifier" + ] + }, "aws-native:dms:ReplicationConfig": { "cf": "AWS::DMS::ReplicationConfig", "inputs": { @@ -18536,7 +19142,8 @@ }, "resourceIdentifier": { "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" + "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource", + "replaceOnChanges": true }, "sourceEndpointArn": { "type": "string", @@ -18561,7 +19168,10 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS Serverless replication configuration" } - } + }, + "createOnly": [ + "resourceIdentifier" + ] }, "aws-native:docdbelastic:Cluster": { "cf": "AWS::DocDBElastic::Cluster", @@ -20015,6 +20625,467 @@ "outpostArn" ] }, + "aws-native:ec2:Instance": { + "cf": "AWS::EC2::Instance", + "inputs": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance." + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance." + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance." + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance." + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves." + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation." + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host." + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface." + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair." + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances." + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations." + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance." + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread)." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet." + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead." + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + }, + "outputs": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance.", + "replaceOnChanges": true + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance.", + "replaceOnChanges": true + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance.", + "replaceOnChanges": true + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance.", + "replaceOnChanges": true + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "replaceOnChanges": true + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation.", + "replaceOnChanges": true + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", + "replaceOnChanges": true + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "replaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", + "replaceOnChanges": true + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", + "replaceOnChanges": true + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair.", + "replaceOnChanges": true + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances.", + "replaceOnChanges": true + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations.", + "replaceOnChanges": true + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance.", + "replaceOnChanges": true + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "replaceOnChanges": true + }, + "privateDnsName": { + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIp": { + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", + "replaceOnChanges": true + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "publicDnsName": { + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." + }, + "publicIp": { + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", + "replaceOnChanges": true + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + }, + "createOnly": [ + "availabilityZone", + "cpuOptions", + "elasticGpuSpecifications", + "elasticInferenceAccelerators", + "enclaveOptions", + "hibernationOptions", + "hostResourceGroupArn", + "imageId", + "ipv6AddressCount", + "ipv6Addresses", + "keyName", + "launchTemplate", + "licenseSpecifications", + "networkInterfaces", + "placementGroupName", + "privateIpAddress", + "securityGroups", + "subnetId" + ], + "writeOnly": [ + "additionalInfo", + "blockDeviceMapping/NoDevice", + "blockDeviceMapping/VirtualName", + "ipv6AddressCount", + "ipv6Addresses", + "licenseSpecification", + "propagateTagsToVolumeOnCreation", + "volumes" + ] + }, "aws-native:ec2:InstanceConnectEndpoint": { "cf": "AWS::EC2::InstanceConnectEndpoint", "inputs": { @@ -22180,6 +23251,107 @@ "vpcId" ] }, + "aws-native:ec2:SecurityGroupEgress": { + "cf": "AWS::EC2::SecurityGroupEgress", + "inputs": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges" + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges" + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list." + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6)." + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes." + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed." + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes." + } + }, + "outputs": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges", + "replaceOnChanges": true + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list.", + "replaceOnChanges": true + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", + "replaceOnChanges": true + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "replaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "replaceOnChanges": true + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + } + }, + "required": [ + "groupId", + "ipProtocol" + ], + "createOnly": [ + "cidrIp", + "cidrIpv6", + "destinationPrefixListId", + "destinationSecurityGroupId", + "fromPort", + "groupId", + "ipProtocol", + "toPort" + ] + }, "aws-native:ec2:SpotFleet": { "cf": "AWS::EC2::SpotFleet", "inputs": { @@ -26464,6 +27636,9 @@ "type": "string", "description": "The description of the Serverless Cache." }, + "endpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "engine": { "type": "string", "description": "The engine name of the Serverless Cache." @@ -26480,6 +27655,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -27896,10 +29074,22 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3." + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId." }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application." + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio." + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -27930,6 +29120,10 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false." + }, "userRole": { "type": "string", "description": "The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies." @@ -27961,11 +29155,26 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "replaceOnChanges": true + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.", "replaceOnChanges": true }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application.", + "replaceOnChanges": true + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "replaceOnChanges": true + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -28001,6 +29210,11 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "replaceOnChanges": true + }, "url": { "type": "string", "description": "The unique Studio access URL." @@ -28037,8 +29251,12 @@ ], "createOnly": [ "authMode", + "encryptionKeyArn", "engineSecurityGroupId", + "idcInstanceArn", + "idcUserAssignment", "serviceRole", + "trustedIdentityPropagationEnabled", "userRole", "vpcId", "workspaceSecurityGroupId" @@ -29000,6 +30218,118 @@ "name" ] }, + "aws-native:eventschemas:Discoverer": { + "cf": "AWS::EventSchemas::Discoverer", + "inputs": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "outputs": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + }, + "discovererId": { + "type": "string", + "description": "The Id of the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus.", + "replaceOnChanges": true + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "required": [ + "sourceArn" + ], + "createOnly": [ + "sourceArn" + ] + }, + "aws-native:eventschemas:Registry": { + "cf": "AWS::EventSchemas::Registry", + "inputs": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "outputs": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "autoNamingSpec": { + "sdkName": "registryName" + }, + "createOnly": [ + "registryName" + ] + }, "aws-native:eventschemas:RegistryPolicy": { "cf": "AWS::EventSchemas::RegistryPolicy", "inputs": { @@ -29591,6 +30921,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -29617,6 +30950,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -29645,9 +30981,52 @@ "targets" ], "createOnly": [ + "experimentOptions/properties/AccountTargeting", "tags" ] }, + "aws-native:fis:TargetAccountConfiguration": { + "cf": "AWS::FIS::TargetAccountConfiguration", + "inputs": { + "accountId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "outputs": { + "accountId": { + "type": "string", + "replaceOnChanges": true + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string", + "replaceOnChanges": true + }, + "roleArn": { + "type": "string" + } + }, + "required": [ + "accountId", + "experimentTemplateId", + "roleArn" + ], + "createOnly": [ + "accountId", + "experimentTemplateId" + ] + }, "aws-native:fms:NotificationChannel": { "cf": "AWS::FMS::NotificationChannel", "inputs": { @@ -41078,16 +42457,20 @@ "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { - "type": "string" + "type": "string", + "description": "The name of the Lambda function." }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { - "type": "string" + "type": "string", + "description": "The identifier of a version or alias." } }, "outputs": { @@ -41096,16 +42479,20 @@ }, "functionName": { "type": "string", + "description": "The name of the Lambda function.", "replaceOnChanges": true }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { "type": "string", + "description": "The identifier of a version or alias.", "replaceOnChanges": true } }, @@ -41428,10 +42815,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -41550,10 +42933,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -41616,7 +42995,6 @@ "code/S3Key", "code/S3ObjectVersion", "code/ZipFile", - "policy", "snapStart", "snapStart/ApplyOn" ] @@ -43986,41 +45364,41 @@ "inputs": { "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object." + "description": "The ARN of the delivery destination that is associated with this delivery." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object." + "description": "The name of the delivery source that is associated with this delivery." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "outputs": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object.", + "description": "The ARN of the delivery destination that is associated with this delivery.", "replaceOnChanges": true }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object.", + "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, "tags": { @@ -44028,7 +45406,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "required": [ @@ -44049,24 +45427,24 @@ }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource." + "description": "The ARN of the AWS resource that will receive the logs." }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "outputs": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -44074,16 +45452,16 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource.", + "description": "The ARN of the AWS resource that will receive the logs.", "replaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination.", + "description": "The name of this delivery destination.", "replaceOnChanges": true }, "tags": { @@ -44091,7 +45469,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "autoNamingSpec": { @@ -44124,13 +45502,13 @@ "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "outputs": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -44150,18 +45528,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "autoNamingSpec": { @@ -51766,6 +53144,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -51820,6 +53201,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -51836,6 +53220,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -51877,7 +53264,9 @@ "advancedSecurityOptions/SamlOptions/MasterUserName" ], "irreversibleNames": { + "domainEndpointV2": "DomainEndpointV2", "ebsOptions": "EBSOptions", + "ipAddressType": "IPAddressType", "vpcOptions": "VPCOptions" } }, @@ -52401,6 +53790,12 @@ "aws-native:osis:Pipeline": { "cf": "AWS::OSIS::Pipeline", "inputs": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "logPublishingOptions": { "$ref": "#/types/aws-native:osis:PipelineLogPublishingOptions" }, @@ -52432,6 +53827,12 @@ } }, "outputs": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -61999,11 +63400,11 @@ "inputs": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket." + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, "locationName": { "type": "string", @@ -62017,12 +63418,12 @@ }, "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "replaceOnChanges": true }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, "locationName": { @@ -62822,8 +64223,7 @@ "outputs": { "appNetworkAccessType": { "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", - "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", - "replaceOnChanges": true + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", @@ -62871,6 +64271,10 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." @@ -62880,8 +64284,7 @@ "items": { "type": "string" }, - "description": "The VPC subnets that Studio uses for communication.", - "replaceOnChanges": true + "description": "The VPC subnets that Studio uses for communication." }, "tags": { "type": "array", @@ -62912,12 +64315,10 @@ "vpcId" ], "createOnly": [ - "appNetworkAccessType", "authMode", "domainName", "domainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "kmsKeyId", - "subnetIds", "tags", "vpcId" ], @@ -71517,7 +72918,7 @@ "properties": { "unusedAccessAge": { "type": "integer", - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." } } }, @@ -78305,6 +79706,61 @@ } } }, + "aws-native:ce:AnomalyMonitorMonitorDimension": { + "type": "string" + }, + "aws-native:ce:AnomalyMonitorMonitorType": { + "type": "string" + }, + "aws-native:ce:AnomalyMonitorResourceTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + } + }, + "aws-native:ce:AnomalySubscriptionFrequency": { + "type": "string" + }, + "aws-native:ce:AnomalySubscriptionResourceTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + } + }, + "aws-native:ce:AnomalySubscriptionSubscriber": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberStatus" + }, + "type": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberType" + } + } + }, + "aws-native:ce:AnomalySubscriptionSubscriberStatus": { + "type": "string" + }, + "aws-native:ce:AnomalySubscriptionSubscriberType": { + "type": "string" + }, "aws-native:ce:CostCategoryRuleVersion": { "type": "string" }, @@ -78404,6 +79860,25 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + } + } + }, + "aws-native:cleanrooms:CollaborationPaymentConfiguration": { + "type": "object", + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationQueryComputePaymentConfig" + } + } + }, + "aws-native:cleanrooms:CollaborationQueryComputePaymentConfig": { + "type": "object", + "properties": { + "isResponsible": { + "type": "boolean" } } }, @@ -78651,6 +80126,14 @@ } } }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "type": "object", + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + } + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "type": "object", "properties": { @@ -78687,6 +80170,14 @@ } } }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "type": "object", + "properties": { + "isResponsible": { + "type": "boolean" + } + } + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string" }, @@ -80660,6 +82151,17 @@ } } }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + } + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "type": "object", "properties": { @@ -80696,6 +82198,20 @@ } } }, + "aws-native:codedeploy:DeploymentConfigZonalConfig": { + "type": "object", + "properties": { + "firstZoneMonitorDurationInSeconds": { + "type": "integer" + }, + "minimumHealthyHostsPerZone": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone" + }, + "monitorDurationInSeconds": { + "type": "integer" + } + } + }, "aws-native:codeguruprofiler:AgentPermissionsProperties": { "type": "object", "properties": { @@ -82231,6 +83747,19 @@ "aws-native:connect:InstanceStorageConfigStorageType": { "type": "string" }, + "aws-native:connect:InstanceTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, "aws-native:connect:IntegrationAssociationIntegrationType": { "type": "string" }, @@ -85795,6 +87324,74 @@ } } }, + "aws-native:dms:DataProviderDmsSslModeValue": { + "type": "string" + }, + "aws-native:dms:DataProviderEngine": { + "type": "string" + }, + "aws-native:dms:DataProviderTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, + "aws-native:dms:InstanceProfileNetworkType": { + "type": "string" + }, + "aws-native:dms:InstanceProfileTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, + "aws-native:dms:MigrationProjectDataProviderDescriptor": { + "type": "object", + "properties": { + "dataProviderArn": { + "type": "string" + }, + "dataProviderIdentifier": { + "type": "string" + }, + "dataProviderName": { + "type": "string" + }, + "secretsManagerAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecretId": { + "type": "string" + } + } + }, + "aws-native:dms:MigrationProjectTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + } + } + }, "aws-native:dms:ReplicationConfigComputeConfig": { "type": "object", "properties": { @@ -85849,6 +87446,145 @@ } } }, + "aws-native:dms:SchemaConversionApplicationAttributesProperties": { + "type": "object", + "properties": { + "s3BucketPath": { + "type": "string" + }, + "s3BucketRoleArn": { + "type": "string" + } + }, + "irreversibleNames": { + "s3BucketPath": "S3BucketPath", + "s3BucketRoleArn": "S3BucketRoleArn" + } + }, + "aws-native:dms:Settings0Properties": { + "type": "object", + "properties": { + "postgreSqlSettings": { + "$ref": "#/types/aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties" + } + } + }, + "aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties": { + "type": "object", + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, + "aws-native:dms:Settings1Properties": { + "type": "object", + "properties": { + "mySqlSettings": { + "$ref": "#/types/aws-native:dms:Settings1PropertiesMySqlSettingsProperties" + } + } + }, + "aws-native:dms:Settings1PropertiesMySqlSettingsProperties": { + "type": "object", + "properties": { + "certificateArn": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, + "aws-native:dms:Settings2Properties": { + "type": "object", + "properties": { + "oracleSettings": { + "$ref": "#/types/aws-native:dms:Settings2PropertiesOracleSettingsProperties" + } + } + }, + "aws-native:dms:Settings2PropertiesOracleSettingsProperties": { + "type": "object", + "properties": { + "asmServer": { + "type": "string" + }, + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "secretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "secretsManagerOracleAsmSecretId": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionSecretId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, + "aws-native:dms:Settings3Properties": { + "type": "object", + "properties": { + "microsoftSqlServerSettings": { + "$ref": "#/types/aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties" + } + } + }, + "aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties": { + "type": "object", + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, "aws-native:docdbelastic:ClusterTag": { "type": "object", "properties": { @@ -86438,6 +88174,28 @@ } } }, + "aws-native:ec2:CpuOptionsProperties": { + "type": "object", + "properties": { + "coreCount": { + "type": "integer" + }, + "threadsPerCore": { + "type": "integer" + } + } + }, + "aws-native:ec2:CreditSpecificationProperties": { + "type": "object", + "properties": { + "cpuCredits": { + "type": "string" + } + }, + "irreversibleNames": { + "cpuCredits": "CPUCredits" + } + }, "aws-native:ec2:CustomerGatewayTag": { "type": "object", "properties": { @@ -86949,6 +88707,15 @@ } } }, + "aws-native:ec2:EnclaveOptionsProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves." + } + } + }, "aws-native:ec2:FlowLogDestinationOptionsPropertiesFileFormat": { "type": "string" }, @@ -86972,6 +88739,53 @@ "aws-native:ec2:FlowLogTrafficType": { "type": "string" }, + "aws-native:ec2:HibernationOptionsProperties": { + "type": "object", + "properties": { + "configured": { + "type": "boolean", + "description": "If you set this parameter to true, your instance is enabled for hibernation." + } + } + }, + "aws-native:ec2:InstanceAffinity": { + "type": "string" + }, + "aws-native:ec2:InstanceAssociationParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The name of an input parameter that is in the associated SSM document." + }, + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of an input parameter." + } + } + }, + "aws-native:ec2:InstanceBlockDeviceMapping": { + "type": "object", + "properties": { + "deviceName": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "ebs": { + "$ref": "#/types/aws-native:ec2:InstanceEbs", + "description": "Parameters used to automatically set up EBS volumes when the instance is launched." + }, + "noDevice": { + "$ref": "pulumi.json#/Any" + }, + "virtualName": { + "type": "string" + } + } + }, "aws-native:ec2:InstanceConnectEndpointTag": { "type": "object", "properties": { @@ -86983,6 +88797,238 @@ } } }, + "aws-native:ec2:InstanceEbs": { + "type": "object", + "properties": { + "deleteOnTermination": { + "type": "boolean", + "description": "Indicates whether the EBS volume is deleted on instance termination." + }, + "encrypted": { + "type": "boolean", + "description": "Indicates whether the volume should be encrypted." + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting." + }, + "kmsKeyId": { + "type": "string", + "description": "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used." + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot." + }, + "volumeSize": { + "type": "integer", + "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size." + }, + "volumeType": { + "type": "string", + "description": "The volume type." + } + } + }, + "aws-native:ec2:InstanceElasticGpuSpecification": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of Elastic Graphics accelerator." + } + } + }, + "aws-native:ec2:InstanceElasticInferenceAccelerator": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "The number of elastic inference accelerators to attach to the instance." + }, + "type": { + "type": "string", + "description": "The type of elastic inference accelerator." + } + } + }, + "aws-native:ec2:InstanceIpv6Address": { + "type": "object", + "properties": { + "ipv6Address": { + "type": "string", + "description": "The IPv6 address." + } + } + }, + "aws-native:ec2:InstanceLaunchTemplateSpecification": { + "type": "object", + "properties": { + "launchTemplateId": { + "type": "string", + "description": "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "launchTemplateName": { + "type": "string", + "description": "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "version": { + "type": "string", + "description": "The version number of the launch template." + } + } + }, + "aws-native:ec2:InstanceLicenseSpecification": { + "type": "object", + "properties": { + "licenseConfigurationArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the license configuration." + } + } + }, + "aws-native:ec2:InstanceNetworkInterface": { + "type": "object", + "properties": { + "associateCarrierIpAddress": { + "type": "boolean", + "description": "Not currently supported by AWS CloudFormation." + }, + "associatePublicIpAddress": { + "type": "boolean", + "description": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC." + }, + "deleteOnTermination": { + "type": "boolean", + "description": "If set to true, the interface is deleted when the instance is terminated." + }, + "description": { + "type": "string", + "description": "The description of the network interface." + }, + "deviceIndex": { + "type": "string", + "description": "The position of the network interface in the attachment order. A primary network interface has a device index of 0." + }, + "groupSet": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups for the network interface." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "A number of IPv6 addresses to assign to the network interface." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "The IPv6 addresses associated with the network interface." + }, + "networkInterfaceId": { + "type": "string", + "description": "The ID of the network interface." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 address of the network interface." + }, + "privateIpAddresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstancePrivateIpAddressSpecification" + }, + "description": "One or more private IPv4 addresses to assign to the network interface." + }, + "secondaryPrivateIpAddressCount": { + "type": "integer", + "description": "The number of secondary private IPv4 addresses." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet." + } + } + }, + "aws-native:ec2:InstancePrivateDnsNameOptions": { + "type": "object", + "properties": { + "enableResourceNameDnsARecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "enableResourceNameDnsAaaaRecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "hostnameType": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType", + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + } + }, + "irreversibleNames": { + "enableResourceNameDnsAaaaRecord": "EnableResourceNameDnsAAAARecord" + } + }, + "aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType": { + "type": "string" + }, + "aws-native:ec2:InstancePrivateIpAddressSpecification": { + "type": "object", + "properties": { + "primary": { + "type": "boolean", + "description": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 addresses." + } + } + }, + "aws-native:ec2:InstanceSsmAssociation": { + "type": "object", + "properties": { + "associationParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceAssociationParameter" + }, + "description": "The input parameter values to use with the associated SSM document." + }, + "documentName": { + "type": "string", + "description": "The name of an SSM document to associate with the instance." + } + } + }, + "aws-native:ec2:InstanceTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:ec2:InstanceVolume": { + "type": "object", + "properties": { + "device": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "volumeId": { + "type": "string", + "description": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone." + } + } + }, "aws-native:ec2:InternetGatewayTag": { "type": "object", "properties": { @@ -89921,6 +91967,10 @@ "aws-native:ec2:VerifiedAccessTrustProviderDeviceOptions": { "type": "object", "properties": { + "publicSigningKeyUrl": { + "type": "string", + "description": "URL Verified Access will use to verify authenticity of the device tokens." + }, "tenantId": { "type": "string", "description": "The ID of the tenant application with the device-identity provider." @@ -90160,6 +92210,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -90168,6 +92221,9 @@ } } }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string" + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string" }, @@ -92782,6 +94838,9 @@ "aws-native:emr:StudioAuthMode": { "type": "string" }, + "aws-native:emr:StudioIdcUserAssignment": { + "type": "string" + }, "aws-native:emr:StudioSessionMappingIdentityType": { "type": "string" }, @@ -93857,6 +95916,28 @@ } } }, + "aws-native:eventschemas:DiscovererTagsEntry": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:eventschemas:RegistryTagsEntry": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:evidently:ExperimentMetricGoalObject": { "type": "object", "properties": { @@ -94278,6 +96359,25 @@ "aws-native:fis:ExperimentTemplateActionMap": { "type": "object" }, + "aws-native:fis:ExperimentTemplateExperimentOptions": { + "type": "object", + "properties": { + "accountTargeting": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting", + "description": "The account targeting setting for the experiment template." + }, + "emptyTargetResolutionMode": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode", + "description": "The target resolution failure mode for the experiment template." + } + } + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting": { + "type": "string" + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode": { + "type": "string" + }, "aws-native:fis:ExperimentTemplateLogConfiguration": { "type": "object", "properties": { @@ -105926,7 +108026,8 @@ "type": "object", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } } }, @@ -105934,7 +108035,8 @@ "type": "object", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } } }, @@ -113954,6 +116056,24 @@ } } }, + "aws-native:osis:PipelineBufferOptions": { + "type": "object", + "properties": { + "persistentBufferEnabled": { + "type": "boolean", + "description": "Whether persistent buffering should be enabled." + } + } + }, + "aws-native:osis:PipelineEncryptionAtRestOptions": { + "type": "object", + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + } + }, "aws-native:osis:PipelineLogPublishingOptions": { "type": "object", "properties": { @@ -145255,6 +147375,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } } }, @@ -145816,6 +147939,9 @@ } } }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "type": "object" + }, "aws-native:s3:BucketTiering": { "type": "object", "properties": { @@ -147101,6 +149227,42 @@ "aws-native:sagemaker:DomainAuthMode": { "type": "string" }, + "aws-native:sagemaker:DomainCodeEditorAppSettings": { + "type": "object", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + } + }, + "aws-native:sagemaker:DomainCodeRepository": { + "type": "object", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + } + }, + "aws-native:sagemaker:DomainCustomFileSystemConfig": { + "type": "object", + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainEfsFileSystemConfig" + } + }, + "irreversibleNames": { + "efsFileSystemConfig": "EFSFileSystemConfig" + } + }, "aws-native:sagemaker:DomainCustomImage": { "type": "object", "properties": { @@ -147118,6 +149280,30 @@ } } }, + "aws-native:sagemaker:DomainCustomPosixUserConfig": { + "type": "object", + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + } + }, + "aws-native:sagemaker:DomainDefaultEbsStorageSettings": { + "type": "object", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + } + }, "aws-native:sagemaker:DomainDefaultSpaceSettings": { "type": "object", "properties": { @@ -147142,6 +149328,55 @@ } } }, + "aws-native:sagemaker:DomainDefaultSpaceStorageSettings": { + "type": "object", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultEbsStorageSettings" + } + } + }, + "aws-native:sagemaker:DomainEfsFileSystemConfig": { + "type": "object", + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + } + }, + "aws-native:sagemaker:DomainJupyterLabAppSettings": { + "type": "object", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomImage" + }, + "description": "A list of custom images for use for JupyterLab apps." + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + } + }, "aws-native:sagemaker:DomainJupyterServerAppSettings": { "type": "object", "properties": { @@ -147298,10 +149533,29 @@ "aws-native:sagemaker:DomainUserSettings": { "type": "object", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The execution role for the user." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:DomainJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -147326,9 +149580,19 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:DomainSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:DomainUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } } }, + "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { + "type": "string" + }, "aws-native:sagemaker:FeatureGroupDataCatalogConfig": { "type": "object", "properties": { @@ -147379,6 +149643,9 @@ "s3Uri": "S3Uri" } }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string" + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "type": "string" }, @@ -150403,6 +152670,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } } }, @@ -150613,6 +152883,42 @@ } } }, + "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { + "type": "object", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + } + }, + "aws-native:sagemaker:UserProfileCodeRepository": { + "type": "object", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + } + }, + "aws-native:sagemaker:UserProfileCustomFileSystemConfig": { + "type": "object", + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileEfsFileSystemConfig" + } + }, + "irreversibleNames": { + "efsFileSystemConfig": "EFSFileSystemConfig" + } + }, "aws-native:sagemaker:UserProfileCustomImage": { "type": "object", "properties": { @@ -150630,6 +152936,79 @@ } } }, + "aws-native:sagemaker:UserProfileCustomPosixUserConfig": { + "type": "object", + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + } + }, + "aws-native:sagemaker:UserProfileDefaultEbsStorageSettings": { + "type": "object", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + } + }, + "aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings": { + "type": "object", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultEbsStorageSettings" + } + } + }, + "aws-native:sagemaker:UserProfileEfsFileSystemConfig": { + "type": "object", + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + } + }, + "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { + "type": "object", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomImage" + }, + "description": "A list of custom images available for use for JupyterLab apps" + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + } + }, "aws-native:sagemaker:UserProfileJupyterServerAppSettings": { "type": "object", "properties": { @@ -150733,10 +153112,29 @@ "aws-native:sagemaker:UserProfileUserSettings": { "type": "object", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The user profile Amazon Resource Name (ARN)." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -150758,9 +153156,19 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } } }, + "aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal": { + "type": "string" + }, "aws-native:scheduler:ScheduleAssignPublicIp": { "type": "string" }, @@ -157649,6 +160057,18 @@ "tableName" ] }, + "aws-native:ce:getAnomalyMonitor": { + "cf": "AWS::CE::AnomalyMonitor", + "ids": [ + "monitorArn" + ] + }, + "aws-native:ce:getAnomalySubscription": { + "cf": "AWS::CE::AnomalySubscription", + "ids": [ + "subscriptionArn" + ] + }, "aws-native:ce:getCostCategory": { "cf": "AWS::CE::CostCategory", "ids": [ @@ -158425,6 +160845,24 @@ "directoryId" ] }, + "aws-native:dms:getDataProvider": { + "cf": "AWS::DMS::DataProvider", + "ids": [ + "dataProviderArn" + ] + }, + "aws-native:dms:getInstanceProfile": { + "cf": "AWS::DMS::InstanceProfile", + "ids": [ + "instanceProfileArn" + ] + }, + "aws-native:dms:getMigrationProject": { + "cf": "AWS::DMS::MigrationProject", + "ids": [ + "migrationProjectArn" + ] + }, "aws-native:dms:getReplicationConfig": { "cf": "AWS::DMS::ReplicationConfig", "ids": [ @@ -158529,6 +160967,12 @@ "hostId" ] }, + "aws-native:ec2:getInstance": { + "cf": "AWS::EC2::Instance", + "ids": [ + "instanceId" + ] + }, "aws-native:ec2:getInstanceConnectEndpoint": { "cf": "AWS::EC2::InstanceConnectEndpoint", "ids": [ @@ -158696,6 +161140,12 @@ "routeTableId" ] }, + "aws-native:ec2:getSecurityGroupEgress": { + "cf": "AWS::EC2::SecurityGroupEgress", + "ids": [ + "id" + ] + }, "aws-native:ec2:getSpotFleet": { "cf": "AWS::EC2::SpotFleet", "ids": [ @@ -159178,6 +161628,18 @@ "arn" ] }, + "aws-native:eventschemas:getDiscoverer": { + "cf": "AWS::EventSchemas::Discoverer", + "ids": [ + "discovererArn" + ] + }, + "aws-native:eventschemas:getRegistry": { + "cf": "AWS::EventSchemas::Registry", + "ids": [ + "registryArn" + ] + }, "aws-native:eventschemas:getRegistryPolicy": { "cf": "AWS::EventSchemas::RegistryPolicy", "ids": [ @@ -159226,6 +161688,13 @@ "id" ] }, + "aws-native:fis:getTargetAccountConfiguration": { + "cf": "AWS::FIS::TargetAccountConfiguration", + "ids": [ + "experimentTemplateId", + "accountId" + ] + }, "aws-native:fms:getNotificationChannel": { "cf": "AWS::FMS::NotificationChannel", "ids": [ @@ -160116,7 +162585,8 @@ "aws-native:lambda:getEventInvokeConfig": { "cf": "AWS::Lambda::EventInvokeConfig", "ids": [ - "id" + "functionName", + "qualifier" ] }, "aws-native:lambda:getEventSourceMapping": { @@ -161445,7 +163915,7 @@ "aws-native:route53resolver:getResolverConfig": { "cf": "AWS::Route53Resolver::ResolverConfig", "ids": [ - "id" + "resourceId" ] }, "aws-native:route53resolver:getResolverDnssecConfig": { diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 1aed49d8ec..eb1c6def00 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -448,7 +448,7 @@ "properties": { "unusedAccessAge": { "type": "integer", - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." } }, "type": "object" @@ -8766,7 +8766,11 @@ "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupVCpuCountRequest" } }, - "type": "object" + "type": "object", + "required": [ + "memoryMiB", + "vCpuCount" + ] }, "aws-native:autoscaling:AutoScalingGroupInstancesDistribution": { "properties": { @@ -10536,6 +10540,127 @@ "value" ] }, + "aws-native:ce:AnomalyMonitorMonitorDimension": { + "description": "The dimensions to evaluate", + "type": "string", + "enum": [ + { + "name": "Service", + "value": "SERVICE" + } + ] + }, + "aws-native:ce:AnomalyMonitorMonitorType": { + "type": "string", + "enum": [ + { + "name": "Dimensional", + "value": "DIMENSIONAL" + }, + { + "name": "Custom", + "value": "CUSTOM" + } + ] + }, + "aws-native:ce:AnomalyMonitorResourceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ce:AnomalySubscriptionFrequency": { + "description": "The frequency at which anomaly reports are sent over email. ", + "type": "string", + "enum": [ + { + "name": "Daily", + "value": "DAILY" + }, + { + "name": "Immediate", + "value": "IMMEDIATE" + }, + { + "name": "Weekly", + "value": "WEEKLY" + } + ] + }, + "aws-native:ce:AnomalySubscriptionResourceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ce:AnomalySubscriptionSubscriber": { + "properties": { + "address": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberStatus" + }, + "type": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberType" + } + }, + "type": "object", + "required": [ + "address", + "type" + ] + }, + "aws-native:ce:AnomalySubscriptionSubscriberStatus": { + "type": "string", + "enum": [ + { + "name": "Confirmed", + "value": "CONFIRMED" + }, + { + "name": "Declined", + "value": "DECLINED" + } + ] + }, + "aws-native:ce:AnomalySubscriptionSubscriberType": { + "type": "string", + "enum": [ + { + "name": "Email", + "value": "EMAIL" + }, + { + "name": "Sns", + "value": "SNS" + } + ] + }, "aws-native:ce:CostCategoryRuleVersion": { "type": "string", "enum": [ @@ -10738,6 +10863,9 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" } }, "type": "object", @@ -10747,6 +10875,28 @@ "memberAbilities" ] }, + "aws-native:cleanrooms:CollaborationPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, + "aws-native:cleanrooms:CollaborationQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:CollaborationQueryLogStatus": { "type": "string", "enum": [ @@ -11174,6 +11324,17 @@ "value" ] }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "properties": { "s3": { @@ -11217,6 +11378,17 @@ "resultFormat" ] }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string", "enum": [ @@ -13851,6 +14023,21 @@ "value" ] }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "properties": { "canaryInterval": { @@ -13898,6 +14085,20 @@ "type" ] }, + "aws-native:codedeploy:DeploymentConfigZonalConfig": { + "properties": { + "firstZoneMonitorDurationInSeconds": { + "type": "integer" + }, + "minimumHealthyHostsPerZone": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone" + }, + "monitorDurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:codeguruprofiler:AgentPermissionsProperties": { "description": "The agent permissions attached to this profiling group.", "properties": { @@ -17647,6 +17848,7 @@ }, "type": "object", "required": [ + "encryptionConfig", "prefix", "retentionPeriodHours" ] @@ -17691,6 +17893,24 @@ } ] }, + "aws-native:connect:InstanceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:connect:IntegrationAssociationIntegrationType": { "description": "Specifies the integration type to be associated with the instance", "type": "string", @@ -17702,6 +17922,10 @@ { "name": "LambdaFunction", "value": "LAMBDA_FUNCTION" + }, + { + "name": "Application", + "value": "APPLICATION" } ] }, @@ -23803,6 +24027,150 @@ "vpcId" ] }, + "aws-native:dms:DataProviderDmsSslModeValue": { + "type": "string", + "enum": [ + { + "name": "None", + "value": "none" + }, + { + "name": "Require", + "value": "require" + }, + { + "name": "VerifyCa", + "value": "verify_ca" + }, + { + "name": "VerifyFull", + "value": "verify_full" + } + ] + }, + "aws-native:dms:DataProviderEngine": { + "description": "The property describes a data engine for the data provider.", + "type": "string", + "enum": [ + { + "name": "Postgresql", + "value": "postgresql" + }, + { + "name": "Mysql", + "value": "mysql" + }, + { + "name": "Oracle", + "value": "oracle" + }, + { + "name": "Sqlserver", + "value": "sqlserver" + }, + { + "name": "Aurora", + "value": "aurora" + }, + { + "name": "AuroraPostgresql", + "value": "aurora_postgresql" + } + ] + }, + "aws-native:dms:DataProviderTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:dms:InstanceProfileNetworkType": { + "description": "The property describes a network type for the instance profile.", + "type": "string", + "enum": [ + { + "name": "Ipv4", + "value": "IPV4" + }, + { + "name": "Ipv6", + "value": "IPV6" + }, + { + "name": "Dual", + "value": "DUAL" + } + ] + }, + "aws-native:dms:InstanceProfileTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:dms:MigrationProjectDataProviderDescriptor": { + "description": "It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject", + "properties": { + "dataProviderArn": { + "type": "string" + }, + "dataProviderIdentifier": { + "type": "string" + }, + "dataProviderName": { + "type": "string" + }, + "secretsManagerAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:MigrationProjectTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:dms:ReplicationConfigComputeConfig": { "description": "Configuration parameters for provisioning a AWS DMS Serverless replication", "properties": { @@ -23878,6 +24246,146 @@ "value" ] }, + "aws-native:dms:SchemaConversionApplicationAttributesProperties": { + "description": "The property describes schema conversion application attributes for the migration project.", + "properties": { + "s3BucketPath": { + "type": "string" + }, + "s3BucketRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0Properties": { + "description": "PostgreSqlSettings property identifier.", + "properties": { + "postgreSqlSettings": { + "$ref": "#/types/aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1Properties": { + "description": "MySqlSettings property identifier.", + "properties": { + "mySqlSettings": { + "$ref": "#/types/aws-native:dms:Settings1PropertiesMySqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1PropertiesMySqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2Properties": { + "description": "OracleSettings property identifier.", + "properties": { + "oracleSettings": { + "$ref": "#/types/aws-native:dms:Settings2PropertiesOracleSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2PropertiesOracleSettingsProperties": { + "properties": { + "asmServer": { + "type": "string" + }, + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "secretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "secretsManagerOracleAsmSecretId": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionSecretId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3Properties": { + "description": "MicrosoftSqlServerSettings property identifier.", + "properties": { + "microsoftSqlServerSettings": { + "$ref": "#/types/aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, "aws-native:docdbelastic:ClusterTag": { "properties": { "key": { @@ -24570,6 +25078,27 @@ }, "type": "object" }, + "aws-native:ec2:CpuOptionsProperties": { + "description": "The CPU options for the instance.", + "properties": { + "coreCount": { + "type": "integer" + }, + "threadsPerCore": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:ec2:CreditSpecificationProperties": { + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.", + "properties": { + "cpuCredits": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:ec2:CustomerGatewayTag": { "properties": { "key": { @@ -25557,6 +26086,16 @@ "value" ] }, + "aws-native:ec2:EnclaveOptionsProperties": { + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "properties": { + "enabled": { + "type": "boolean", + "description": "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves." + } + }, + "type": "object" + }, "aws-native:ec2:FlowLogDestinationOptionsPropertiesFileFormat": { "type": "string", "enum": [ @@ -25647,6 +26186,72 @@ } ] }, + "aws-native:ec2:HibernationOptionsProperties": { + "description": "Indicates whether an instance is enabled for hibernation.", + "properties": { + "configured": { + "type": "boolean", + "description": "If you set this parameter to true, your instance is enabled for hibernation." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceAffinity": { + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.", + "type": "string", + "enum": [ + { + "name": "Default", + "value": "default" + }, + { + "name": "Host", + "value": "host" + } + ] + }, + "aws-native:ec2:InstanceAssociationParameter": { + "properties": { + "key": { + "type": "string", + "description": "The name of an input parameter that is in the associated SSM document." + }, + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of an input parameter." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ec2:InstanceBlockDeviceMapping": { + "properties": { + "deviceName": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "ebs": { + "$ref": "#/types/aws-native:ec2:InstanceEbs", + "description": "Parameters used to automatically set up EBS volumes when the instance is launched." + }, + "noDevice": { + "$ref": "pulumi.json#/Any" + }, + "virtualName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "deviceName" + ] + }, "aws-native:ec2:InstanceConnectEndpointTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -25663,6 +26268,276 @@ "value" ] }, + "aws-native:ec2:InstanceEbs": { + "properties": { + "deleteOnTermination": { + "type": "boolean", + "description": "Indicates whether the EBS volume is deleted on instance termination." + }, + "encrypted": { + "type": "boolean", + "description": "Indicates whether the volume should be encrypted." + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting." + }, + "kmsKeyId": { + "type": "string", + "description": "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used." + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot." + }, + "volumeSize": { + "type": "integer", + "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size." + }, + "volumeType": { + "type": "string", + "description": "The volume type." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceElasticGpuSpecification": { + "properties": { + "type": { + "type": "string", + "description": "The type of Elastic Graphics accelerator." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws-native:ec2:InstanceElasticInferenceAccelerator": { + "properties": { + "count": { + "type": "integer", + "description": "The number of elastic inference accelerators to attach to the instance." + }, + "type": { + "type": "string", + "description": "The type of elastic inference accelerator." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws-native:ec2:InstanceIpv6Address": { + "properties": { + "ipv6Address": { + "type": "string", + "description": "The IPv6 address." + } + }, + "type": "object", + "required": [ + "ipv6Address" + ] + }, + "aws-native:ec2:InstanceLaunchTemplateSpecification": { + "properties": { + "launchTemplateId": { + "type": "string", + "description": "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "launchTemplateName": { + "type": "string", + "description": "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "version": { + "type": "string", + "description": "The version number of the launch template." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceLicenseSpecification": { + "properties": { + "licenseConfigurationArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the license configuration." + } + }, + "type": "object", + "required": [ + "licenseConfigurationArn" + ] + }, + "aws-native:ec2:InstanceNetworkInterface": { + "properties": { + "associateCarrierIpAddress": { + "type": "boolean", + "description": "Not currently supported by AWS CloudFormation." + }, + "associatePublicIpAddress": { + "type": "boolean", + "description": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC." + }, + "deleteOnTermination": { + "type": "boolean", + "description": "If set to true, the interface is deleted when the instance is terminated." + }, + "description": { + "type": "string", + "description": "The description of the network interface." + }, + "deviceIndex": { + "type": "string", + "description": "The position of the network interface in the attachment order. A primary network interface has a device index of 0." + }, + "groupSet": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups for the network interface." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "A number of IPv6 addresses to assign to the network interface." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "The IPv6 addresses associated with the network interface." + }, + "networkInterfaceId": { + "type": "string", + "description": "The ID of the network interface." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 address of the network interface." + }, + "privateIpAddresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstancePrivateIpAddressSpecification" + }, + "description": "One or more private IPv4 addresses to assign to the network interface." + }, + "secondaryPrivateIpAddressCount": { + "type": "integer", + "description": "The number of secondary private IPv4 addresses." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet." + } + }, + "type": "object", + "required": [ + "deviceIndex" + ] + }, + "aws-native:ec2:InstancePrivateDnsNameOptions": { + "properties": { + "enableResourceNameDnsARecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "enableResourceNameDnsAaaaRecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "hostnameType": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType", + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + } + }, + "type": "object" + }, + "aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType": { + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type": "string", + "enum": [ + { + "name": "IpName", + "value": "ip-name" + }, + { + "name": "ResourceName", + "value": "resource-name" + } + ] + }, + "aws-native:ec2:InstancePrivateIpAddressSpecification": { + "properties": { + "primary": { + "type": "boolean", + "description": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 addresses." + } + }, + "type": "object", + "required": [ + "primary", + "privateIpAddress" + ] + }, + "aws-native:ec2:InstanceSsmAssociation": { + "properties": { + "associationParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceAssociationParameter" + }, + "description": "The input parameter values to use with the associated SSM document." + }, + "documentName": { + "type": "string", + "description": "The name of an SSM document to associate with the instance." + } + }, + "type": "object", + "required": [ + "documentName" + ] + }, + "aws-native:ec2:InstanceTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ec2:InstanceVolume": { + "properties": { + "device": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "volumeId": { + "type": "string", + "description": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone." + } + }, + "type": "object", + "required": [ + "device", + "volumeId" + ] + }, "aws-native:ec2:InternetGatewayTag": { "properties": { "key": { @@ -29473,6 +30348,10 @@ "aws-native:ec2:VerifiedAccessTrustProviderDeviceOptions": { "description": "The options for device identity based trust providers.", "properties": { + "publicSigningKeyUrl": { + "type": "string", + "description": "URL Verified Access will use to verify authenticity of the device tokens." + }, "tenantId": { "type": "string", "description": "The ID of the tenant application with the device-identity provider." @@ -29811,6 +30690,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -29823,6 +30705,19 @@ "autoScalingGroupArn" ] }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string", "enum": [ @@ -32987,6 +33882,20 @@ } ] }, + "aws-native:emr:StudioIdcUserAssignment": { + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "type": "string", + "enum": [ + { + "name": "Required", + "value": "REQUIRED" + }, + { + "name": "Optional", + "value": "OPTIONAL" + } + ] + }, "aws-native:emr:StudioSessionMappingIdentityType": { "description": "Specifies whether the identity to map to the Studio is a user or a group.", "type": "string", @@ -34472,6 +35381,36 @@ "id" ] }, + "aws-native:eventschemas:DiscovererTagsEntry": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:eventschemas:RegistryTagsEntry": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:evidently:ExperimentMetricGoalObject": { "properties": { "desiredChange": { @@ -35041,6 +35980,47 @@ "description": "The actions for the experiment.", "type": "object" }, + "aws-native:fis:ExperimentTemplateExperimentOptions": { + "properties": { + "accountTargeting": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting", + "description": "The account targeting setting for the experiment template." + }, + "emptyTargetResolutionMode": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode", + "description": "The target resolution failure mode for the experiment template." + } + }, + "type": "object" + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting": { + "description": "The account targeting setting for the experiment template.", + "type": "string", + "enum": [ + { + "name": "MultiAccount", + "value": "multi-account" + }, + { + "name": "SingleAccount", + "value": "single-account" + } + ] + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode": { + "description": "The target resolution failure mode for the experiment template.", + "type": "string", + "enum": [ + { + "name": "Fail", + "value": "fail" + }, + { + "name": "Skip", + "value": "skip" + } + ] + }, "aws-native:fis:ExperimentTemplateLogConfiguration": { "properties": { "cloudWatchLogsConfiguration": { @@ -53830,6 +54810,7 @@ ] }, "aws-native:lambda:EventInvokeConfigDestinationConfig": { + "description": "A destination for events after they have been sent to a function for processing.", "properties": { "onFailure": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigOnFailure" @@ -53841,9 +54822,11 @@ "type": "object" }, "aws-native:lambda:EventInvokeConfigOnFailure": { + "description": "The destination configuration for failed invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -53852,9 +54835,11 @@ ] }, "aws-native:lambda:EventInvokeConfigOnSuccess": { + "description": "The destination configuration for successful invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -65946,6 +66931,32 @@ "value" ] }, + "aws-native:osis:PipelineBufferOptions": { + "description": "Key-value pairs to configure buffering.", + "properties": { + "persistentBufferEnabled": { + "type": "boolean", + "description": "Whether persistent buffering should be enabled." + } + }, + "type": "object", + "required": [ + "persistentBufferEnabled" + ] + }, + "aws-native:osis:PipelineEncryptionAtRestOptions": { + "description": "Key-value pairs to configure encryption at rest.", + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + }, + "type": "object", + "required": [ + "kmsKeyArn" + ] + }, "aws-native:osis:PipelineLogPublishingOptions": { "description": "Key-value pairs to configure log publishing.", "properties": { @@ -65967,7 +66978,10 @@ "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "logGroup" + ] }, "aws-native:osis:PipelineTag": { "description": "A key-value pair to associate with a resource.", @@ -66022,7 +67036,10 @@ "description": "A list of subnet IDs associated with the VPC endpoint." } }, - "type": "object" + "type": "object", + "required": [ + "subnetIds" + ] }, "aws-native:panorama:ApplicationInstanceHealthStatus": { "type": "string", @@ -108277,6 +109294,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } }, "type": "object" @@ -109100,6 +110120,10 @@ "value" ] }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "type": "object" + }, "aws-native:s3:BucketTiering": { "properties": { "accessTier": { @@ -109780,7 +110804,7 @@ ] }, "aws-native:s3express:DirectoryBucketDataRedundancy": { - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "type": "string", "enum": [ { @@ -110478,6 +111502,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -111056,6 +112092,43 @@ } ] }, + "aws-native:sagemaker:DomainCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:DomainCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -111078,6 +112151,39 @@ "imageName" ] }, + "aws-native:sagemaker:DomainCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:DomainDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume. Must be provided if storage type is Amazon EBS and must not be provided if storage type is not Amazon EBS", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, "aws-native:sagemaker:DomainDefaultSpaceSettings": { "description": "A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called.", "properties": { @@ -111106,6 +112212,60 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:DomainJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomImage" + }, + "description": "A list of custom images for use for JupyterLab apps." + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -111479,6 +112639,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -111548,10 +112720,29 @@ "aws-native:sagemaker:DomainUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The execution role for the user." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:DomainJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -111576,6 +112767,13 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:DomainSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:DomainUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object", @@ -111583,6 +112781,20 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:FeatureGroupDataCatalogConfig": { "properties": { "catalog": { @@ -111656,6 +112868,19 @@ "s3Uri" ] }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string", + "enum": [ + { + "name": "Standard", + "value": "Standard" + }, + { + "name": "InMemory", + "value": "InMemory" + } + ] + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "description": "Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores.", "type": "string", @@ -115848,6 +117073,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } }, "type": "object" @@ -116374,6 +117602,43 @@ "value" ] }, + "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:UserProfileCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -116396,6 +117661,93 @@ "imageName" ] }, + "aws-native:sagemaker:UserProfileCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:UserProfileDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume.", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, + "aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomImage" + }, + "description": "A list of custom images available for use for JupyterLab apps" + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -116726,6 +118078,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -116779,10 +118143,29 @@ "aws-native:sagemaker:UserProfileUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The user profile Amazon Resource Name (ARN)." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -116804,10 +118187,31 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object" }, + "aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:scheduler:ScheduleAssignPublicIp": { "description": "Specifies whether the task's elastic network interface receives a public IP address. You can specify ENABLED only when LaunchType in EcsParameters is set to FARGATE.", "type": "string", @@ -134573,6 +135977,196 @@ "partitionKeyColumns" ] }, + "aws-native:ce:AnomalyMonitor": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithTags = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithTags\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithTags = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_tags = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithTags = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithTags\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithTags = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_tags = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithCC = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithCC\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithCC = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_cc = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithCC = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithCC\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithCC = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_cc = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n Threshold = 100,\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[]\n {\n customAnomalyMonitorWithLinkedAccount.Id,\n anomalyServiceMonitor.Id,\n },\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcustomAnomalyMonitorWithLinkedAccount, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanomalyServiceMonitor, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThreshold: pulumi.Float64(100),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{\n\t\t\t\tcustomAnomalyMonitorWithLinkedAccount.ID(),\n\t\t\t\tanomalyServiceMonitor.ID(),\n\t\t\t},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n threshold: 100,\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [\n customAnomalyMonitorWithLinkedAccount.id,\n anomalyServiceMonitor.id,\n ],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold=100,\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[\n custom_anomaly_monitor_with_linked_account.id,\n anomaly_service_monitor.id,\n ],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n Threshold = 100,\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[]\n {\n customAnomalyMonitorWithLinkedAccount.Id,\n anomalyServiceMonitor.Id,\n },\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcustomAnomalyMonitorWithLinkedAccount, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanomalyServiceMonitor, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThreshold: pulumi.Float64(100),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{\n\t\t\t\tcustomAnomalyMonitorWithLinkedAccount.ID(),\n\t\t\t\tanomalyServiceMonitor.ID(),\n\t\t\t},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n threshold: 100,\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [\n customAnomalyMonitorWithLinkedAccount.id,\n anomalyServiceMonitor.id,\n ],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold=100,\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[\n custom_anomaly_monitor_with_linked_account.id,\n anomaly_service_monitor.id,\n ],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n Threshold = 100,\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[]\n {\n customAnomalyMonitorWithLinkedAccount.Id,\n anomalyServiceMonitor.Id,\n },\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcustomAnomalyMonitorWithLinkedAccount, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanomalyServiceMonitor, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThreshold: pulumi.Float64(100),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{\n\t\t\t\tcustomAnomalyMonitorWithLinkedAccount.ID(),\n\t\t\t\tanomalyServiceMonitor.ID(),\n\t\t\t},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n threshold: 100,\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [\n customAnomalyMonitorWithLinkedAccount.id,\n anomalyServiceMonitor.id,\n ],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold=100,\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[\n custom_anomaly_monitor_with_linked_account.id,\n anomaly_service_monitor.id,\n ],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "creationDate": { + "type": "string", + "description": "The date when the monitor was created. " + }, + "dimensionalValueCount": { + "type": "integer", + "description": "The value for evaluated dimensions." + }, + "lastEvaluatedDate": { + "type": "string", + "description": "The date when the monitor last evaluated for anomalies." + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date when the monitor was last updated." + }, + "monitorArn": { + "type": "string" + }, + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate", + "replaceOnChanges": true + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string", + "replaceOnChanges": true + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType", + "replaceOnChanges": true + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "creationDate", + "dimensionalValueCount", + "lastEvaluatedDate", + "lastUpdatedDate", + "monitorArn", + "monitorName", + "monitorType" + ], + "inputProperties": { + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate" + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string" + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor." + } + }, + "requiredInputs": [ + "monitorName", + "monitorType" + ] + }, + "aws-native:ce:AnomalySubscription": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\",\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Address = \"abc@def.com\",\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n },\n },\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\"),\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\",\n monitorArnList: [],\n subscribers: [{\n address: \"abc@def.com\",\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n }],\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\",\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n address=\"abc@def.com\",\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n )],\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"Subscription 1\",\n ThresholdExpression = \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\",\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"Subscription 1\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\"),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"Subscription 1\",\n thresholdExpression: \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\",\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"Subscription 1\",\n threshold_expression=\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\",\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Address = \"abc@def.com\",\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n },\n },\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitorArnList: [],\n subscribers: [{\n address: \"abc@def.com\",\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n }],\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n address=\"abc@def.com\",\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n )],\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Address = \"abc@def.com\",\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n },\n },\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitorArnList: [],\n subscribers: [{\n address: \"abc@def.com\",\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n }],\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n address=\"abc@def.com\",\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n )],\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "accountId": { + "type": "string", + "description": "The accountId" + }, + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription.", + "replaceOnChanges": true + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionArn": { + "type": "string" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "type": "object", + "required": [ + "accountId", + "frequency", + "monitorArnList", + "subscribers", + "subscriptionArn", + "subscriptionName" + ], + "inputProperties": { + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription." + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "requiredInputs": [ + "frequency", + "monitorArnList", + "subscribers", + "subscriptionName" + ] + }, "aws-native:ce:CostCategory": { "description": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine.", "properties": { @@ -135003,6 +136597,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -135053,6 +136651,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -135275,6 +136876,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -135302,6 +136906,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -136706,6 +138313,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -136779,6 +138394,14 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -137755,6 +139378,11 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed.", "replaceOnChanges": true + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves", + "replaceOnChanges": true } }, "type": "object", @@ -137774,6 +139402,10 @@ "trafficRoutingConfig": { "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed." + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves" } } }, @@ -140142,6 +141774,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "type": "object", @@ -140169,6 +141808,13 @@ "instanceAlias": { "type": "string", "description": "Alias of the new directory created as part of new instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "requiredInputs": [ @@ -144736,6 +146382,359 @@ "vpcSettings" ] }, + "aws-native:dms:DataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "dataProviderArn", + "dataProviderCreationTime", + "engine" + ], + "inputProperties": { + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "engine" + ] + }, + "aws-native:dms:InstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "type": "object", + "required": [ + "instanceProfileArn", + "instanceProfileCreationTime" + ], + "inputProperties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + }, + "aws-native:dms:MigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "type": "object", + "required": [ + "migrationProjectArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + }, "aws-native:dms:ReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "properties": { @@ -144760,7 +146759,8 @@ }, "resourceIdentifier": { "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" + "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource", + "replaceOnChanges": true }, "sourceEndpointArn": { "type": "string", @@ -146244,6 +148244,445 @@ "availabilityZone" ] }, + "aws-native:ec2:Instance": { + "description": "Resource Type definition for AWS::EC2::Instance", + "properties": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance.", + "replaceOnChanges": true + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance.", + "replaceOnChanges": true + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance.", + "replaceOnChanges": true + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance.", + "replaceOnChanges": true + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "replaceOnChanges": true + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation.", + "replaceOnChanges": true + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", + "replaceOnChanges": true + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "replaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", + "replaceOnChanges": true + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", + "replaceOnChanges": true + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair.", + "replaceOnChanges": true + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances.", + "replaceOnChanges": true + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations.", + "replaceOnChanges": true + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance.", + "replaceOnChanges": true + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "replaceOnChanges": true + }, + "privateDnsName": { + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIp": { + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", + "replaceOnChanges": true + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "publicDnsName": { + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." + }, + "publicIp": { + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", + "replaceOnChanges": true + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + }, + "type": "object", + "required": [ + "instanceId", + "privateDnsName", + "privateIp", + "publicDnsName", + "publicIp" + ], + "inputProperties": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance." + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance." + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance." + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance." + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves." + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation." + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host." + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface." + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair." + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances." + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations." + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance." + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread)." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet." + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead." + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + } + }, "aws-native:ec2:InstanceConnectEndpoint": { "description": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint", "properties": { @@ -146972,7 +149411,7 @@ ] }, "aws-native:ec2:KeyPair": { - "description": "The AWS::EC2::KeyPair creates an SSH key pair", + "description": "The AWS::EC2::KeyPair creates an SSH key pair\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newKeyPair = new AwsNative.Ec2.KeyPair(\"newKeyPair\", new()\n {\n KeyName = \"MyKeyPair\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = newKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnewKeyPair, err := ec2.NewKeyPair(ctx, \"newKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"MyKeyPair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: newKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst newKeyPair = new aws_native.ec2.KeyPair(\"newKeyPair\", {keyName: \"MyKeyPair\"});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: newKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nnew_key_pair = aws_native.ec2.KeyPair(\"newKeyPair\", key_name=\"MyKeyPair\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=new_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newKeyPair = new AwsNative.Ec2.KeyPair(\"newKeyPair\", new()\n {\n KeyName = \"MyKeyPair\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = newKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnewKeyPair, err := ec2.NewKeyPair(ctx, \"newKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"MyKeyPair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: newKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst newKeyPair = new aws_native.ec2.KeyPair(\"newKeyPair\", {keyName: \"MyKeyPair\"});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: newKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nnew_key_pair = aws_native.ec2.KeyPair(\"newKeyPair\", key_name=\"MyKeyPair\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=new_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var importedKeyPair = new AwsNative.Ec2.KeyPair(\"importedKeyPair\", new()\n {\n KeyName = \"NameForMyImportedKeyPair\",\n PublicKeyMaterial = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = importedKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportedKeyPair, err := ec2.NewKeyPair(ctx, \"importedKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"NameForMyImportedKeyPair\"),\n\t\t\tPublicKeyMaterial: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: importedKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst importedKeyPair = new aws_native.ec2.KeyPair(\"importedKeyPair\", {\n keyName: \"NameForMyImportedKeyPair\",\n publicKeyMaterial: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: importedKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nimported_key_pair = aws_native.ec2.KeyPair(\"importedKeyPair\",\n key_name=\"NameForMyImportedKeyPair\",\n public_key_material=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=imported_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var importedKeyPair = new AwsNative.Ec2.KeyPair(\"importedKeyPair\", new()\n {\n KeyName = \"NameForMyImportedKeyPair\",\n PublicKeyMaterial = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = importedKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportedKeyPair, err := ec2.NewKeyPair(ctx, \"importedKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"NameForMyImportedKeyPair\"),\n\t\t\tPublicKeyMaterial: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: importedKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst importedKeyPair = new aws_native.ec2.KeyPair(\"importedKeyPair\", {\n keyName: \"NameForMyImportedKeyPair\",\n publicKeyMaterial: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: importedKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nimported_key_pair = aws_native.ec2.KeyPair(\"importedKeyPair\",\n key_name=\"NameForMyImportedKeyPair\",\n public_key_material=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=imported_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { "keyFingerprint": { "type": "string", @@ -148477,6 +150916,102 @@ "vpcId" ] }, + "aws-native:ec2:SecurityGroupEgress": { + "description": "Resource Type definition for AWS::EC2::SecurityGroupEgress", + "properties": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges", + "replaceOnChanges": true + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list.", + "replaceOnChanges": true + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", + "replaceOnChanges": true + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "replaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "replaceOnChanges": true + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "groupId", + "ipProtocol" + ], + "inputProperties": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges" + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges" + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list." + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6)." + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes." + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed." + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes." + } + }, + "requiredInputs": [ + "groupId", + "ipProtocol" + ] + }, "aws-native:ec2:SpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "properties": { @@ -152807,10 +155342,8 @@ "required": [ "arn", "createTime", - "endpoint", "engine", "fullEngineVersion", - "readerEndpoint", "serverlessCacheName", "status" ], @@ -152826,6 +155359,9 @@ "type": "string", "description": "The description of the Serverless Cache." }, + "endpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "engine": { "type": "string", "description": "The engine name of the Serverless Cache." @@ -152842,6 +155378,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -154096,11 +156635,26 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "replaceOnChanges": true + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.", "replaceOnChanges": true }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application.", + "replaceOnChanges": true + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "replaceOnChanges": true + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -154136,6 +156690,11 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "replaceOnChanges": true + }, "url": { "type": "string", "description": "The unique Studio access URL." @@ -154183,10 +156742,22 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3." + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId." }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application." + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio." + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -154217,6 +156788,10 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false." + }, "userRole": { "type": "string", "description": "The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies." @@ -155191,6 +157766,120 @@ } } }, + "aws-native:eventschemas:Discoverer": { + "description": "Resource Type definition for AWS::EventSchemas::Discoverer\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDiscoverer = new AwsNative.EventSchemas.Discoverer(\"myDiscoverer\", new()\n {\n SourceArn = \"arn:aws:events:us-west-2:012345678910:event-bus/default\",\n Description = \"discover all custom schemas\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewDiscoverer(ctx, \"myDiscoverer\", \u0026eventschemas.DiscovererArgs{\n\t\t\tSourceArn: pulumi.String(\"arn:aws:events:us-west-2:012345678910:event-bus/default\"),\n\t\t\tDescription: pulumi.String(\"discover all custom schemas\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDiscoverer = new aws_native.eventschemas.Discoverer(\"myDiscoverer\", {\n sourceArn: \"arn:aws:events:us-west-2:012345678910:event-bus/default\",\n description: \"discover all custom schemas\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_discoverer = aws_native.eventschemas.Discoverer(\"myDiscoverer\",\n source_arn=\"arn:aws:events:us-west-2:012345678910:event-bus/default\",\n description=\"discover all custom schemas\")\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + }, + "discovererId": { + "type": "string", + "description": "The Id of the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus.", + "replaceOnChanges": true + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "type": "object", + "required": [ + "discovererArn", + "discovererId", + "sourceArn", + "state" + ], + "inputProperties": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "requiredInputs": [ + "sourceArn" + ] + }, + "aws-native:eventschemas:Registry": { + "description": "Resource Type definition for AWS::EventSchemas::Registry\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var statesSchemasRegistry = new AwsNative.EventSchemas.Registry(\"statesSchemasRegistry\", new()\n {\n RegistryName = \"aws.states\",\n Description = \"Contains the schemas of events emitted by AWS Step Functions\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistry(ctx, \"statesSchemasRegistry\", \u0026eventschemas.RegistryArgs{\n\t\t\tRegistryName: pulumi.String(\"aws.states\"),\n\t\t\tDescription: pulumi.String(\"Contains the schemas of events emitted by AWS Step Functions\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst statesSchemasRegistry = new aws_native.eventschemas.Registry(\"statesSchemasRegistry\", {\n registryName: \"aws.states\",\n description: \"Contains the schemas of events emitted by AWS Step Functions\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nstates_schemas_registry = aws_native.eventschemas.Registry(\"statesSchemasRegistry\",\n registry_name=\"aws.states\",\n description=\"Contains the schemas of events emitted by AWS Step Functions\")\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "type": "object", + "required": [ + "registryArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + } + }, "aws-native:eventschemas:RegistryPolicy": { "description": "Resource Type definition for AWS::EventSchemas::RegistryPolicy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var registryPolicy = new AwsNative.EventSchemas.RegistryPolicy(\"registryPolicy\", new()\n {\n RegistryName = \"registryName\",\n Policy = \n {\n { \"version\", \"2012-10-17\" },\n { \"statement\", \n {\n { \"sid\", 1 },\n { \"effect\", \"Allow\" },\n { \"principal\", \n {\n { \"aws\", \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\" },\n } },\n { \"action\", new[]\n {\n \"schemas:DescribeRegistry\",\n \"schemas:CreateSchema\",\n } },\n { \"resource\", \"registryArn\" },\n } },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistryPolicy(ctx, \"registryPolicy\", \u0026eventschemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"registryName\"),\n\t\t\tPolicy: pulumi.Any{\n\t\t\t\tVersion: \"2012-10-17\",\n\t\t\t\tStatement: map[string]interface{}{\n\t\t\t\t\t\"sid\": 1,\n\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\"aws\": \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\"schemas:DescribeRegistry\",\n\t\t\t\t\t\t\"schemas:CreateSchema\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resource\": \"registryArn\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst registryPolicy = new aws_native.eventschemas.RegistryPolicy(\"registryPolicy\", {\n registryName: \"registryName\",\n policy: {\n version: \"2012-10-17\",\n statement: {\n sid: 1,\n effect: \"Allow\",\n principal: {\n aws: \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\",\n },\n action: [\n \"schemas:DescribeRegistry\",\n \"schemas:CreateSchema\",\n ],\n resource: \"registryArn\",\n },\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nregistry_policy = aws_native.eventschemas.RegistryPolicy(\"registryPolicy\",\n registry_name=\"registryName\",\n policy={\n \"version\": \"2012-10-17\",\n \"statement\": {\n \"sid\": 1,\n \"effect\": \"Allow\",\n \"principal\": {\n \"aws\": \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\",\n },\n \"action\": [\n \"schemas:DescribeRegistry\",\n \"schemas:CreateSchema\",\n ],\n \"resource\": \"registryArn\",\n },\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var registryPolicy = new AwsNative.EventSchemas.RegistryPolicy(\"registryPolicy\", new()\n {\n RegistryName = \"MyRegistry\",\n Policy = \n {\n { \"version\", \"2012-10-17\" },\n { \"statement\", new[]\n {\n \n {\n { \"sid\", \"Test\" },\n { \"effect\", \"Allow\" },\n { \"action\", new[]\n {\n \"schemas:*\",\n } },\n { \"principal\", \n {\n { \"aws\", new[]\n {\n \"109876543210\",\n } },\n } },\n { \"resource\", new[]\n {\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n } },\n },\n } },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistryPolicy(ctx, \"registryPolicy\", \u0026eventschemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"MyRegistry\"),\n\t\t\tPolicy: pulumi.Any{\n\t\t\t\tVersion: \"2012-10-17\",\n\t\t\t\tStatement: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"sid\": \"Test\",\n\t\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws\": []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"resource\": []string{\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst registryPolicy = new aws_native.eventschemas.RegistryPolicy(\"registryPolicy\", {\n registryName: \"MyRegistry\",\n policy: {\n version: \"2012-10-17\",\n statement: [{\n sid: \"Test\",\n effect: \"Allow\",\n action: [\"schemas:*\"],\n principal: {\n aws: [\"109876543210\"],\n },\n resource: [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nregistry_policy = aws_native.eventschemas.RegistryPolicy(\"registryPolicy\",\n registry_name=\"MyRegistry\",\n policy={\n \"version\": \"2012-10-17\",\n \"statement\": [{\n \"sid\": \"Test\",\n \"effect\": \"Allow\",\n \"action\": [\"schemas:*\"],\n \"principal\": {\n \"aws\": [\"109876543210\"],\n },\n \"resource\": [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var registryPolicy = new AwsNative.EventSchemas.RegistryPolicy(\"registryPolicy\", new()\n {\n RegistryName = \"MyRegistry\",\n Policy = \n {\n { \"version\", \"2012-10-17\" },\n { \"statement\", new[]\n {\n \n {\n { \"sid\", \"Test\" },\n { \"effect\", \"Allow\" },\n { \"action\", new[]\n {\n \"schemas:*\",\n } },\n { \"principal\", \n {\n { \"aws\", new[]\n {\n \"109876543210\",\n } },\n } },\n { \"resource\", new[]\n {\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n } },\n },\n } },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistryPolicy(ctx, \"registryPolicy\", \u0026eventschemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"MyRegistry\"),\n\t\t\tPolicy: pulumi.Any{\n\t\t\t\tVersion: \"2012-10-17\",\n\t\t\t\tStatement: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"sid\": \"Test\",\n\t\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws\": []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"resource\": []string{\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst registryPolicy = new aws_native.eventschemas.RegistryPolicy(\"registryPolicy\", {\n registryName: \"MyRegistry\",\n policy: {\n version: \"2012-10-17\",\n statement: [{\n sid: \"Test\",\n effect: \"Allow\",\n action: [\"schemas:*\"],\n principal: {\n aws: [\"109876543210\"],\n },\n resource: [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nregistry_policy = aws_native.eventschemas.RegistryPolicy(\"registryPolicy\",\n registry_name=\"MyRegistry\",\n policy={\n \"version\": \"2012-10-17\",\n \"statement\": [{\n \"sid\": \"Test\",\n \"effect\": \"Allow\",\n \"action\": [\"schemas:*\"],\n \"principal\": {\n \"aws\": [\"109876543210\"],\n },\n \"resource\": [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n })\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -155777,6 +158466,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -155812,6 +158504,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -155839,6 +158534,50 @@ "targets" ] }, + "aws-native:fis:TargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "properties": { + "accountId": { + "type": "string", + "replaceOnChanges": true + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string", + "replaceOnChanges": true + }, + "roleArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "accountId", + "experimentTemplateId", + "roleArn" + ], + "inputProperties": { + "accountId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "requiredInputs": [ + "accountId", + "experimentTemplateId", + "roleArn" + ] + }, "aws-native:fms:NotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "properties": { @@ -167078,23 +169817,27 @@ ] }, "aws-native:lambda:EventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "properties": { "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { "type": "string", + "description": "The name of the Lambda function.", "replaceOnChanges": true }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { "type": "string", + "description": "The identifier of a version or alias.", "replaceOnChanges": true } }, @@ -167108,16 +169851,20 @@ "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { - "type": "string" + "type": "string", + "description": "The name of the Lambda function." }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { - "type": "string" + "type": "string", + "description": "The identifier of a version or alias." } }, "requiredInputs": [ @@ -167433,10 +170180,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -167561,10 +170304,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -169970,28 +172709,28 @@ ] }, "aws-native:logs:Delivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object.", + "description": "The ARN of the delivery destination that is associated with this delivery.", "replaceOnChanges": true }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object.", + "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, "tags": { @@ -169999,7 +172738,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "type": "object", @@ -170013,18 +172752,18 @@ "inputProperties": { "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object." + "description": "The ARN of the delivery destination that is associated with this delivery." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object." + "description": "The name of the delivery source that is associated with this delivery." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "requiredInputs": [ @@ -170033,11 +172772,11 @@ ] }, "aws-native:logs:DeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -170045,16 +172784,16 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource.", + "description": "The ARN of the AWS resource that will receive the logs.", "replaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination.", + "description": "The name of this delivery destination.", "replaceOnChanges": true }, "tags": { @@ -170062,7 +172801,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "type": "object", @@ -170078,27 +172817,27 @@ }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource." + "description": "The ARN of the AWS resource that will receive the logs." }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } }, "aws-native:logs:DeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -170118,18 +172857,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "type": "object", @@ -170157,7 +172896,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } }, @@ -177713,6 +180452,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -177729,6 +180471,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -177763,6 +180508,7 @@ "arn", "domainArn", "domainEndpoint", + "domainEndpointV2", "domainEndpoints", "serviceSoftwareOptions" ], @@ -177797,6 +180543,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -178334,6 +181083,12 @@ "aws-native:osis:Pipeline": { "description": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper.", "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -178394,6 +181149,12 @@ "vpcEndpoints" ], "inputProperties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "logPublishingOptions": { "$ref": "#/types/aws-native:osis:PipelineLogPublishingOptions" }, @@ -187586,12 +190347,12 @@ }, "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "replaceOnChanges": true }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, "locationName": { @@ -187609,11 +190370,11 @@ "inputProperties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket." + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, "locationName": { "type": "string", @@ -188333,8 +191094,7 @@ "properties": { "appNetworkAccessType": { "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", - "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", - "replaceOnChanges": true + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", @@ -188382,6 +191142,10 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." @@ -188391,8 +191155,7 @@ "items": { "type": "string" }, - "description": "The VPC subnets that Studio uses for communication.", - "replaceOnChanges": true + "description": "The VPC subnets that Studio uses for communication." }, "tags": { "type": "array", @@ -188421,6 +191184,7 @@ "domainName", "homeEfsFileSystemId", "securityGroupIdForDomainBoundary", + "singleSignOnApplicationArn", "singleSignOnManagedApplicationInstanceId", "subnetIds", "url", @@ -200949,6 +203713,100 @@ } } }, + "aws-native:ce:getAnomalyMonitor": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor.", + "inputs": { + "properties": { + "monitorArn": { + "type": "string" + } + }, + "required": [ + "monitorArn" + ] + }, + "outputs": { + "properties": { + "creationDate": { + "type": "string", + "description": "The date when the monitor was created. " + }, + "dimensionalValueCount": { + "type": "integer", + "description": "The value for evaluated dimensions." + }, + "lastEvaluatedDate": { + "type": "string", + "description": "The date when the monitor last evaluated for anomalies." + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date when the monitor was last updated." + }, + "monitorArn": { + "type": "string" + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + } + } + } + }, + "aws-native:ce:getAnomalySubscription": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified", + "inputs": { + "properties": { + "subscriptionArn": { + "type": "string" + } + }, + "required": [ + "subscriptionArn" + ] + }, + "outputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The accountId" + }, + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionArn": { + "type": "string" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + } + } + }, "aws-native:ce:getCostCategory": { "description": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine.", "inputs": { @@ -201312,6 +204170,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -202211,6 +205072,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -203966,6 +206835,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } } } @@ -206491,6 +209367,207 @@ } } }, + "aws-native:dms:getDataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "inputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + } + }, + "required": [ + "dataProviderArn" + ] + }, + "outputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, + "aws-native:dms:getInstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "inputs": { + "properties": { + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + } + }, + "required": [ + "instanceProfileArn" + ] + }, + "outputs": { + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + } + }, + "aws-native:dms:getMigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "inputs": { + "properties": { + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + } + }, + "required": [ + "migrationProjectArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + } + }, "aws-native:dms:getReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "inputs": { @@ -206525,10 +209602,6 @@ "$ref": "#/types/aws-native:dms:ReplicationConfigReplicationType", "description": "The type of AWS DMS Serverless replication to provision using this replication configuration" }, - "resourceIdentifier": { - "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" - }, "sourceEndpointArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration" @@ -207154,6 +210227,132 @@ } } }, + "aws-native:ec2:getInstance": { + "description": "Resource Type definition for AWS::EC2::Instance", + "inputs": { + "properties": { + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + } + }, + "required": [ + "instanceId" + ] + }, + "outputs": { + "properties": { + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "privateDnsName": { + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIp": { + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." + }, + "publicDnsName": { + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." + }, + "publicIp": { + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + } + } + } + }, "aws-native:ec2:getInstanceConnectEndpoint": { "description": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint", "inputs": { @@ -208393,6 +211592,32 @@ } } }, + "aws-native:ec2:getSecurityGroupEgress": { + "description": "Resource Type definition for AWS::EC2::SecurityGroupEgress", + "inputs": { + "properties": { + "id": { + "type": "string", + "description": "The Security Group Rule Id" + } + }, + "required": [ + "id" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "id": { + "type": "string", + "description": "The Security Group Rule Id" + } + } + } + }, "aws-native:ec2:getSpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "inputs": { @@ -211728,6 +214953,84 @@ } } }, + "aws-native:eventschemas:getDiscoverer": { + "description": "Resource Type definition for AWS::EventSchemas::Discoverer", + "inputs": { + "properties": { + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + } + }, + "required": [ + "discovererArn" + ] + }, + "outputs": { + "properties": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + }, + "discovererId": { + "type": "string", + "description": "The Id of the discoverer." + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + } + } + }, + "aws-native:eventschemas:getRegistry": { + "description": "Resource Type definition for AWS::EventSchemas::Registry", + "inputs": { + "properties": { + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + } + }, + "required": [ + "registryArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + } + } + }, "aws-native:eventschemas:getRegistryPolicy": { "description": "Resource Type definition for AWS::EventSchemas::RegistryPolicy", "inputs": { @@ -212071,6 +215374,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "id": { "type": "string" }, @@ -212092,6 +215398,33 @@ } } }, + "aws-native:fis:getTargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "inputs": { + "properties": { + "accountId": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + } + }, + "required": [ + "experimentTemplateId", + "accountId" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + } + } + }, "aws-native:fms:getNotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "inputs": { @@ -218573,15 +221906,21 @@ } }, "aws-native:lambda:getEventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "inputs": { "properties": { - "id": { - "type": "string" + "functionName": { + "type": "string", + "description": "The name of the Lambda function." + }, + "qualifier": { + "type": "string", + "description": "The identifier of a version or alias." } }, "required": [ - "id" + "functionName", + "qualifier" ] }, "outputs": { @@ -218589,14 +221928,13 @@ "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, - "id": { - "type": "string" - }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." } } } @@ -219970,12 +223308,12 @@ } }, "aws-native:logs:getDelivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "inputs": { "properties": { "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." } }, "required": [ @@ -219986,33 +223324,33 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } } } }, "aws-native:logs:getDeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "inputs": { "properties": { "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." } }, "required": [ @@ -220023,7 +223361,7 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -220031,20 +223369,20 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } } }, "aws-native:logs:getDeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "inputs": { "properties": { "name": { @@ -220060,7 +223398,7 @@ "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -220071,18 +223409,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } } @@ -224149,6 +227487,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -224164,6 +227505,9 @@ "id": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -224481,6 +227825,12 @@ }, "outputs": { "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -228489,13 +231839,13 @@ "description": "Resource schema for AWS::Route53Resolver::ResolverConfig.", "inputs": { "properties": { - "id": { + "resourceId": { "type": "string", - "description": "Id" + "description": "ResourceId" } }, "required": [ - "id" + "resourceId" ] }, "outputs": { @@ -229151,7 +232501,7 @@ "properties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." } }, "required": [ @@ -229498,6 +232848,10 @@ }, "outputs": { "properties": { + "appNetworkAccessType": { + "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." + }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", "description": "The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided." @@ -229529,10 +232883,21 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The VPC subnets that Studio uses for communication." + }, "url": { "type": "string", "description": "The URL to the created domain." diff --git a/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs b/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs index 4385a08c34..b45f1ed15c 100644 --- a/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs +++ b/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs @@ -16,7 +16,7 @@ namespace Pulumi.AwsNative.AccessAnalyzer.Inputs public sealed class AnalyzerUnusedAccessConfigurationArgs : global::Pulumi.ResourceArgs { ///