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-b2bi-capability.json b/aws-cloudformation-schema/aws-b2bi-capability.json new file mode 100644 index 0000000000..0206f42c21 --- /dev/null +++ b/aws-cloudformation-schema/aws-b2bi-capability.json @@ -0,0 +1,188 @@ +{ + "typeName" : "AWS::B2BI::Capability", + "description" : "Definition of AWS::B2BI::Capability Resource Type", + "definitions" : { + "CapabilityConfiguration" : { + "oneOf" : [ { + "type" : "object", + "title" : "Edi", + "properties" : { + "Edi" : { + "$ref" : "#/definitions/EdiConfiguration" + } + }, + "required" : [ "Edi" ], + "additionalProperties" : false + } ] + }, + "CapabilityType" : { + "type" : "string", + "enum" : [ "edi" ] + }, + "EdiConfiguration" : { + "type" : "object", + "properties" : { + "Type" : { + "$ref" : "#/definitions/EdiType" + }, + "InputLocation" : { + "$ref" : "#/definitions/S3Location" + }, + "OutputLocation" : { + "$ref" : "#/definitions/S3Location" + }, + "TransformerId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + } + }, + "required" : [ "InputLocation", "OutputLocation", "TransformerId", "Type" ], + "additionalProperties" : false + }, + "EdiType" : { + "oneOf" : [ { + "type" : "object", + "title" : "X12Details", + "properties" : { + "X12Details" : { + "$ref" : "#/definitions/X12Details" + } + }, + "required" : [ "X12Details" ], + "additionalProperties" : false + } ] + }, + "S3Location" : { + "type" : "object", + "properties" : { + "BucketName" : { + "type" : "string", + "maxLength" : 63, + "minLength" : 3 + }, + "Key" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0 + } + }, + "additionalProperties" : false + }, + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1 + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "X12Details" : { + "type" : "object", + "properties" : { + "TransactionSet" : { + "$ref" : "#/definitions/X12TransactionSet" + }, + "Version" : { + "$ref" : "#/definitions/X12Version" + } + }, + "additionalProperties" : false + }, + "X12TransactionSet" : { + "type" : "string", + "enum" : [ "X12_110", "X12_180", "X12_204", "X12_210", "X12_214", "X12_215", "X12_310", "X12_315", "X12_322", "X12_404", "X12_410", "X12_820", "X12_824", "X12_830", "X12_846", "X12_850", "X12_852", "X12_855", "X12_856", "X12_860", "X12_861", "X12_864", "X12_940", "X12_990", "X12_997" ] + }, + "X12Version" : { + "type" : "string", + "enum" : [ "VERSION_4010", "VERSION_4030", "VERSION_5010" ] + } + }, + "properties" : { + "CapabilityArn" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "CapabilityId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + }, + "Configuration" : { + "$ref" : "#/definitions/CapabilityConfiguration" + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "InstructionsDocuments" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/S3Location" + }, + "maxItems" : 5, + "minItems" : 0 + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 1 + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 200, + "minItems" : 0 + }, + "Type" : { + "$ref" : "#/definitions/CapabilityType" + } + }, + "required" : [ "Configuration", "Name", "Type" ], + "readOnlyProperties" : [ "/properties/CapabilityArn", "/properties/CapabilityId", "/properties/CreatedAt", "/properties/ModifiedAt" ], + "createOnlyProperties" : [ "/properties/Type" ], + "primaryIdentifier" : [ "/properties/CapabilityId" ], + "handlers" : { + "create" : { + "permissions" : [ "b2bi:CreateCapability", "b2bi:TagResource", "s3:GetObject", "s3:ListBucket", "events:DescribeRule", "events:PutRule", "events:PutTargets", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:DescribeResourcePolicies", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy" ] + }, + "read" : { + "permissions" : [ "b2bi:GetCapability", "b2bi:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "b2bi:TagResource", "b2bi:UntagResource", "b2bi:UpdateCapability" ] + }, + "delete" : { + "permissions" : [ "b2bi:DeleteCapability" ] + }, + "list" : { + "permissions" : [ "b2bi:ListCapabilities" ] + } + }, + "tagging" : { + "cloudFormationSystemTags" : true, + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-b2bi-partnership.json b/aws-cloudformation-schema/aws-b2bi-partnership.json new file mode 100644 index 0000000000..2b207d032e --- /dev/null +++ b/aws-cloudformation-schema/aws-b2bi-partnership.json @@ -0,0 +1,119 @@ +{ + "typeName" : "AWS::B2BI::Partnership", + "description" : "Definition of AWS::B2BI::Partnership Resource Type", + "definitions" : { + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1 + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "Capabilities" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + } + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Email" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 5, + "pattern" : "^[\\w\\.\\-]+@[\\w\\.\\-]+$" + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 1 + }, + "PartnershipArn" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "PartnershipId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + }, + "Phone" : { + "type" : "string", + "maxLength" : 22, + "minLength" : 7, + "pattern" : "^\\+?([0-9 \\t\\-()\\/]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension) \\t*(\\d+))?$" + }, + "ProfileId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 200, + "minItems" : 0 + }, + "TradingPartnerId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + } + }, + "required" : [ "Email", "Name", "ProfileId" ], + "readOnlyProperties" : [ "/properties/CreatedAt", "/properties/ModifiedAt", "/properties/PartnershipArn", "/properties/PartnershipId", "/properties/TradingPartnerId" ], + "createOnlyProperties" : [ "/properties/Email", "/properties/Phone", "/properties/ProfileId" ], + "primaryIdentifier" : [ "/properties/PartnershipId" ], + "handlers" : { + "create" : { + "permissions" : [ "b2bi:CreatePartnership", "b2bi:TagResource", "s3:PutObject" ] + }, + "read" : { + "permissions" : [ "b2bi:GetPartnership", "b2bi:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "b2bi:TagResource", "b2bi:UntagResource", "b2bi:UpdatePartnership" ] + }, + "delete" : { + "permissions" : [ "b2bi:DeletePartnership" ] + }, + "list" : { + "permissions" : [ "b2bi:ListPartnerships" ] + } + }, + "tagging" : { + "cloudFormationSystemTags" : true, + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-b2bi-profile.json b/aws-cloudformation-schema/aws-b2bi-profile.json new file mode 100644 index 0000000000..9b85c92ff0 --- /dev/null +++ b/aws-cloudformation-schema/aws-b2bi-profile.json @@ -0,0 +1,115 @@ +{ + "typeName" : "AWS::B2BI::Profile", + "description" : "Definition of AWS::B2BI::Profile Resource Type", + "definitions" : { + "Logging" : { + "type" : "string", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1 + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "BusinessName" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 1 + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Email" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 5, + "pattern" : "^[\\w\\.\\-]+@[\\w\\.\\-]+$" + }, + "LogGroupName" : { + "type" : "string", + "maxLength" : 512, + "minLength" : 1 + }, + "Logging" : { + "$ref" : "#/definitions/Logging" + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 1 + }, + "Phone" : { + "type" : "string", + "maxLength" : 22, + "minLength" : 7, + "pattern" : "^\\+?([0-9 \\t\\-()\\/]{7,})(?:\\s*(?:#|x\\.?|ext\\.?|extension) \\t*(\\d+))?$" + }, + "ProfileArn" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "ProfileId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 200, + "minItems" : 0 + } + }, + "required" : [ "BusinessName", "Logging", "Name", "Phone" ], + "readOnlyProperties" : [ "/properties/CreatedAt", "/properties/LogGroupName", "/properties/ModifiedAt", "/properties/ProfileArn", "/properties/ProfileId" ], + "createOnlyProperties" : [ "/properties/Logging" ], + "primaryIdentifier" : [ "/properties/ProfileId" ], + "handlers" : { + "create" : { + "permissions" : [ "b2bi:CreateProfile", "b2bi:TagResource", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:DescribeResourcePolicies", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy" ] + }, + "read" : { + "permissions" : [ "b2bi:GetProfile", "b2bi:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "b2bi:TagResource", "b2bi:UntagResource", "b2bi:UpdateProfile" ] + }, + "delete" : { + "permissions" : [ "b2bi:DeleteProfile", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ] + }, + "list" : { + "permissions" : [ "b2bi:ListProfiles" ] + } + }, + "tagging" : { + "cloudFormationSystemTags" : true, + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-b2bi-transformer.json b/aws-cloudformation-schema/aws-b2bi-transformer.json new file mode 100644 index 0000000000..1b6f611808 --- /dev/null +++ b/aws-cloudformation-schema/aws-b2bi-transformer.json @@ -0,0 +1,145 @@ +{ + "typeName" : "AWS::B2BI::Transformer", + "description" : "Definition of AWS::B2BI::Transformer Resource Type", + "definitions" : { + "EdiType" : { + "oneOf" : [ { + "type" : "object", + "title" : "X12Details", + "properties" : { + "X12Details" : { + "$ref" : "#/definitions/X12Details" + } + }, + "required" : [ "X12Details" ], + "additionalProperties" : false + } ] + }, + "FileFormat" : { + "type" : "string", + "enum" : [ "XML", "JSON" ] + }, + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1 + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "TransformerStatus" : { + "type" : "string", + "enum" : [ "active", "inactive" ] + }, + "X12Details" : { + "type" : "object", + "properties" : { + "TransactionSet" : { + "$ref" : "#/definitions/X12TransactionSet" + }, + "Version" : { + "$ref" : "#/definitions/X12Version" + } + }, + "additionalProperties" : false + }, + "X12TransactionSet" : { + "type" : "string", + "enum" : [ "X12_110", "X12_180", "X12_204", "X12_210", "X12_214", "X12_215", "X12_310", "X12_315", "X12_322", "X12_404", "X12_410", "X12_820", "X12_824", "X12_830", "X12_846", "X12_850", "X12_852", "X12_855", "X12_856", "X12_860", "X12_861", "X12_864", "X12_940", "X12_990", "X12_997" ] + }, + "X12Version" : { + "type" : "string", + "enum" : [ "VERSION_4010", "VERSION_4030", "VERSION_5010" ] + } + }, + "properties" : { + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "EdiType" : { + "$ref" : "#/definitions/EdiType" + }, + "FileFormat" : { + "$ref" : "#/definitions/FileFormat" + }, + "MappingTemplate" : { + "type" : "string", + "maxLength" : 350000, + "minLength" : 0 + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 254, + "minLength" : 1 + }, + "SampleDocument" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0 + }, + "Status" : { + "$ref" : "#/definitions/TransformerStatus" + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 200, + "minItems" : 0 + }, + "TransformerArn" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "TransformerId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + } + }, + "required" : [ "EdiType", "FileFormat", "MappingTemplate", "Name", "Status" ], + "readOnlyProperties" : [ "/properties/CreatedAt", "/properties/TransformerArn", "/properties/TransformerId" ], + "primaryIdentifier" : [ "/properties/TransformerId" ], + "handlers" : { + "create" : { + "permissions" : [ "b2bi:CreateTransformer", "b2bi:TagResource", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:DescribeResourcePolicies", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy" ] + }, + "read" : { + "permissions" : [ "b2bi:ListTagsForResource", "b2bi:GetTransformer" ] + }, + "update" : { + "permissions" : [ "b2bi:TagResource", "b2bi:UntagResource", "b2bi:UpdateTransformer" ] + }, + "delete" : { + "permissions" : [ "b2bi:DeleteTransformer", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ] + }, + "list" : { + "permissions" : [ "b2bi:ListTransformers" ] + } + }, + "tagging" : { + "cloudFormationSystemTags" : true, + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-batch-jobdefinition.json b/aws-cloudformation-schema/aws-batch-jobdefinition.json index cf7abb4599..0082b6f2b4 100644 --- a/aws-cloudformation-schema/aws-batch-jobdefinition.json +++ b/aws-cloudformation-schema/aws-batch-jobdefinition.json @@ -1,705 +1,781 @@ { "typeName" : "AWS::Batch::JobDefinition", "description" : "Resource Type definition for AWS::Batch::JobDefinition", - "additionalProperties" : false, - "properties" : { - "Parameters" : { - "type" : "object" - }, - "Timeout" : { - "$ref" : "#/definitions/Timeout" - }, - "JobDefinitionName" : { - "type" : "string" - }, - "PropagateTags" : { - "type" : "boolean" - }, - "PlatformCapabilities" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "EksProperties" : { - "$ref" : "#/definitions/EksProperties" - }, - "Type" : { - "type" : "string" - }, - "NodeProperties" : { - "$ref" : "#/definitions/NodeProperties" - }, - "SchedulingPriority" : { - "type" : "integer" - }, - "ContainerProperties" : { - "$ref" : "#/definitions/ContainerProperties" - }, - "Id" : { - "type" : "string" - }, - "RetryStrategy" : { - "$ref" : "#/definitions/RetryStrategy" - }, - "Tags" : { - "type" : "object" - } - }, + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions" : { - "NodeRangeProperty" : { + "ContainerProperties" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Container" : { - "$ref" : "#/definitions/ContainerProperties" + "Command" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : true, + "items" : { + "type" : "string" + } }, - "TargetNodes" : { - "type" : "string" - } - }, - "required" : [ "TargetNodes" ] - }, - "Metadata" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Labels" : { - "type" : "object" - } - } - }, - "EksContainerEnvironmentVariable" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Value" : { - "type" : "string" + "Environment" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Environment" + } }, - "Name" : { - "type" : "string" - } - }, - "required" : [ "Name" ] - }, - "EfsVolumeConfiguration" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "FileSystemId" : { + "Image" : { "type" : "string" }, - "TransitEncryption" : { + "JobRoleArn" : { "type" : "string" }, - "RootDirectory" : { + "Memory" : { + "type" : "integer" + }, + "MountPoints" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/MountPoint" + } + }, + "Privileged" : { + "type" : "boolean" + }, + "ReadonlyRootFilesystem" : { + "type" : "boolean" + }, + "Ulimits" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Ulimit" + } + }, + "User" : { "type" : "string" }, - "TransitEncryptionPort" : { + "Vcpus" : { "type" : "integer" }, - "AuthorizationConfig" : { - "$ref" : "#/definitions/AuthorizationConfig" - } - }, - "required" : [ "FileSystemId" ] - }, - "EksEmptyDir" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Medium" : { + "Volumes" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Volume" + } + }, + "InstanceType" : { "type" : "string" }, - "SizeLimit" : { + "ResourceRequirements" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/ResourceRequirement" + } + }, + "LinuxParameters" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Devices" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Device" + } + }, + "InitProcessEnabled" : { + "type" : "boolean" + }, + "MaxSwap" : { + "type" : "integer" + }, + "Swappiness" : { + "type" : "integer" + }, + "SharedMemorySize" : { + "type" : "integer" + }, + "Tmpfs" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tmpfs" + } + } + } + }, + "LogConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "LogDriver" : { + "type" : "string" + }, + "Options" : { + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + ".*" : { + "type" : "string" + } + } + }, + "SecretOptions" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Secret" + } + } + }, + "required" : [ "LogDriver" ] + }, + "ExecutionRoleArn" : { "type" : "string" - } - } - }, - "LogConfiguration" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "SecretOptions" : { + }, + "Secrets" : { "type" : "array", "uniqueItems" : false, + "insertionOrder" : false, "items" : { "$ref" : "#/definitions/Secret" } }, - "Options" : { - "type" : "object" + "NetworkConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "AssignPublicIp" : { + "type" : "string" + } + } }, - "LogDriver" : { - "type" : "string" + "FargatePlatformConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "PlatformVersion" : { + "type" : "string" + } + } + }, + "EphemeralStorage" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "SizeInGiB" : { + "type" : "integer" + } + }, + "required" : [ "SizeInGiB" ] + }, + "RuntimePlatform" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "OperatingSystemFamily" : { + "type" : "string" + }, + "CpuArchitecture" : { + "type" : "string" + } + } } }, - "required" : [ "LogDriver" ] - }, - "VolumesHost" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "SourcePath" : { - "type" : "string" - } - } + "required" : [ "Image" ] }, - "RuntimePlatform" : { + "Environment" : { "type" : "object", "additionalProperties" : false, "properties" : { - "OperatingSystemFamily" : { + "Name" : { "type" : "string" }, - "CpuArchitecture" : { + "Value" : { "type" : "string" } } }, - "Volumes" : { + "MountPoint" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Host" : { - "$ref" : "#/definitions/VolumesHost" + "ContainerPath" : { + "type" : "string" }, - "EfsVolumeConfiguration" : { - "$ref" : "#/definitions/EfsVolumeConfiguration" + "ReadOnly" : { + "type" : "boolean" }, - "Name" : { + "SourceVolume" : { "type" : "string" } } }, - "NodeProperties" : { + "Ulimit" : { "type" : "object", "additionalProperties" : false, "properties" : { - "MainNode" : { + "HardLimit" : { "type" : "integer" }, - "NodeRangeProperties" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/NodeRangeProperty" - } + "Name" : { + "type" : "string" }, - "NumNodes" : { + "SoftLimit" : { "type" : "integer" } }, - "required" : [ "MainNode", "NodeRangeProperties", "NumNodes" ] + "required" : [ "HardLimit", "Name", "SoftLimit" ] }, - "PodProperties" : { + "Volume" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Volumes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/EksVolume" - } - }, - "DnsPolicy" : { - "type" : "string" - }, - "Containers" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/EksContainer" - } + "Host" : { + "$ref" : "#/definitions/Host" }, - "Metadata" : { - "$ref" : "#/definitions/Metadata" + "EfsVolumeConfiguration" : { + "$ref" : "#/definitions/EFSVolumeConfiguration" }, - "ServiceAccountName" : { + "Name" : { "type" : "string" - }, - "HostNetwork" : { - "type" : "boolean" } } }, - "Tmpfs" : { + "Host" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ContainerPath" : { + "SourcePath" : { "type" : "string" - }, - "MountOptions" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "Size" : { - "type" : "integer" } - }, - "required" : [ "Size", "ContainerPath" ] + } }, - "ContainerProperties" : { + "EFSVolumeConfiguration" : { "type" : "object", "additionalProperties" : false, "properties" : { - "User" : { - "type" : "string" - }, - "Secrets" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Secret" - } - }, - "Memory" : { - "type" : "integer" - }, - "Privileged" : { - "type" : "boolean" - }, - "LinuxParameters" : { - "$ref" : "#/definitions/LinuxParameters" - }, - "FargatePlatformConfiguration" : { - "$ref" : "#/definitions/FargatePlatformConfiguration" - }, - "JobRoleArn" : { + "FileSystemId" : { "type" : "string" }, - "ReadonlyRootFilesystem" : { - "type" : "boolean" - }, - "Vcpus" : { - "type" : "integer" - }, - "Image" : { + "RootDirectory" : { "type" : "string" }, - "ResourceRequirements" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/ResourceRequirement" - } - }, - "LogConfiguration" : { - "$ref" : "#/definitions/LogConfiguration" - }, - "MountPoints" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/MountPoints" - } - }, - "ExecutionRoleArn" : { + "TransitEncryption" : { "type" : "string" }, - "RuntimePlatform" : { - "$ref" : "#/definitions/RuntimePlatform" - }, - "Volumes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Volumes" - } - }, - "Command" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "Environment" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Environment" - } - }, - "Ulimits" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Ulimit" - } - }, - "NetworkConfiguration" : { - "$ref" : "#/definitions/NetworkConfiguration" - }, - "InstanceType" : { - "type" : "string" + "TransitEncryptionPort" : { + "type" : "integer" }, - "EphemeralStorage" : { - "$ref" : "#/definitions/EphemeralStorage" + "AuthorizationConfig" : { + "$ref" : "#/definitions/EFSAuthorizationConfig" } }, - "required" : [ "Image" ] + "required" : [ "FileSystemId" ] }, - "AuthorizationConfig" : { + "EFSAuthorizationConfig" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Iam" : { + "AccessPointId" : { "type" : "string" }, - "AccessPointId" : { + "Iam" : { "type" : "string" } } }, - "EksContainerResourceRequirements" : { + "ResourceRequirement" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Requests" : { - "type" : "object" + "Type" : { + "type" : "string" }, - "Limits" : { - "type" : "object" - } - } - }, - "NetworkConfiguration" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "AssignPublicIp" : { + "Value" : { "type" : "string" } } }, - "EksContainerSecurityContext" : { + "Device" : { "type" : "object", "additionalProperties" : false, "properties" : { - "RunAsUser" : { - "type" : "integer" - }, - "RunAsGroup" : { - "type" : "integer" - }, - "RunAsNonRoot" : { - "type" : "boolean" + "HostPath" : { + "type" : "string" }, - "Privileged" : { - "type" : "boolean" + "ContainerPath" : { + "type" : "string" }, - "ReadOnlyRootFilesystem" : { - "type" : "boolean" + "Permissions" : { + "type" : "array", + "insertionOrder" : false, + "uniqueItems" : false, + "items" : { + "type" : "string" + } } } }, - "EksSecret" : { + "Tmpfs" : { "type" : "object", "additionalProperties" : false, "properties" : { - "SecretName" : { + "ContainerPath" : { "type" : "string" }, - "Optional" : { - "type" : "boolean" + "Size" : { + "type" : "integer" + }, + "MountOptions" : { + "type" : "array", + "insertionOrder" : false, + "uniqueItems" : false, + "items" : { + "type" : "string" + } } }, - "required" : [ "SecretName" ] + "required" : [ "ContainerPath", "Size" ] }, - "EvaluateOnExit" : { + "Secret" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Action" : { - "type" : "string" - }, - "OnStatusReason" : { - "type" : "string" - }, - "OnExitCode" : { + "Name" : { "type" : "string" }, - "OnReason" : { + "ValueFrom" : { "type" : "string" } }, - "required" : [ "Action" ] + "required" : [ "Name", "ValueFrom" ] }, - "Timeout" : { + "EksProperties" : { "type" : "object", "additionalProperties" : false, "properties" : { - "AttemptDurationSeconds" : { - "type" : "integer" + "PodProperties" : { + "$ref" : "#/definitions/EksPodProperties" } } }, - "Device" : { + "EksPodProperties" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Permissions" : { + "ServiceAccountName" : { + "type" : "string" + }, + "HostNetwork" : { + "type" : "boolean" + }, + "DnsPolicy" : { + "type" : "string" + }, + "Containers" : { "type" : "array", "uniqueItems" : false, + "insertionOrder" : false, "items" : { - "type" : "string" + "$ref" : "#/definitions/EksContainer" } }, - "HostPath" : { - "type" : "string" + "Volumes" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/EksVolume" + } }, - "ContainerPath" : { - "type" : "string" + "Metadata" : { + "$ref" : "#/definitions/EksMetadata" } } }, - "LinuxParameters" : { + "EksContainer" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Swappiness" : { - "type" : "integer" + "Name" : { + "type" : "string" + }, + "Image" : { + "type" : "string" + }, + "ImagePullPolicy" : { + "type" : "string" }, - "Tmpfs" : { + "Command" : { "type" : "array", + "insertionOrder" : true, "uniqueItems" : false, "items" : { - "$ref" : "#/definitions/Tmpfs" + "type" : "string" } }, - "SharedMemorySize" : { - "type" : "integer" + "Args" : { + "type" : "array", + "insertionOrder" : true, + "uniqueItems" : false, + "items" : { + "type" : "string" + } }, - "Devices" : { + "Env" : { "type" : "array", "uniqueItems" : false, + "insertionOrder" : false, "items" : { - "$ref" : "#/definitions/Device" + "$ref" : "#/definitions/EksContainerEnvironmentVariable" } }, - "InitProcessEnabled" : { - "type" : "boolean" + "Resources" : { + "$ref" : "#/definitions/EksContainerResourceRequirements" + }, + "VolumeMounts" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/EksContainerVolumeMount" + } + }, + "SecurityContext" : { + "$ref" : "#/definitions/EksContainerSecurityContext" + } + }, + "required" : [ "Image" ] + }, + "EksContainerEnvironmentVariable" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Name" : { + "type" : "string" }, - "MaxSwap" : { - "type" : "integer" + "Value" : { + "type" : "string" } - } + }, + "required" : [ "Name" ] }, - "FargatePlatformConfiguration" : { + "EksContainerResourceRequirements" : { "type" : "object", "additionalProperties" : false, "properties" : { - "PlatformVersion" : { - "type" : "string" + "Limits" : { + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + ".*" : { + "type" : "string" + } + } + }, + "Requests" : { + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + ".*" : { + "type" : "string" + } + } } } }, - "Ulimit" : { + "EksContainerSecurityContext" : { "type" : "object", "additionalProperties" : false, "properties" : { - "SoftLimit" : { + "RunAsUser" : { "type" : "integer" }, - "HardLimit" : { + "RunAsGroup" : { "type" : "integer" }, - "Name" : { - "type" : "string" + "Privileged" : { + "type" : "boolean" + }, + "ReadOnlyRootFilesystem" : { + "type" : "boolean" + }, + "RunAsNonRoot" : { + "type" : "boolean" } - }, - "required" : [ "SoftLimit", "HardLimit", "Name" ] + } }, "EksVolume" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Secret" : { - "$ref" : "#/definitions/EksSecret" - }, - "EmptyDir" : { - "$ref" : "#/definitions/EksEmptyDir" + "Name" : { + "type" : "string" }, "HostPath" : { "$ref" : "#/definitions/EksHostPath" }, - "Name" : { - "type" : "string" + "EmptyDir" : { + "$ref" : "#/definitions/EksEmptyDir" + }, + "Secret" : { + "$ref" : "#/definitions/EksSecret" } }, "required" : [ "Name" ] }, - "EksContainerVolumeMount" : { + "EksHostPath" : { "type" : "object", "additionalProperties" : false, "properties" : { - "MountPath" : { - "type" : "string" - }, - "ReadOnly" : { - "type" : "boolean" - }, - "Name" : { + "Path" : { "type" : "string" } } }, - "EksProperties" : { + "EksEmptyDir" : { "type" : "object", "additionalProperties" : false, "properties" : { - "PodProperties" : { - "$ref" : "#/definitions/PodProperties" + "Medium" : { + "type" : "string" + }, + "SizeLimit" : { + "type" : "string" } } }, - "Secret" : { + "EksSecret" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ValueFrom" : { + "SecretName" : { "type" : "string" }, - "Name" : { - "type" : "string" + "Optional" : { + "type" : "boolean" } }, - "required" : [ "ValueFrom", "Name" ] + "required" : [ "SecretName" ] }, - "MountPoints" : { + "EksContainerVolumeMount" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ReadOnly" : { - "type" : "boolean" - }, - "SourceVolume" : { + "Name" : { "type" : "string" }, - "ContainerPath" : { + "MountPath" : { "type" : "string" + }, + "ReadOnly" : { + "type" : "boolean" } } }, - "EksHostPath" : { + "EksMetadata" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Path" : { - "type" : "string" + "Labels" : { + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + ".*" : { + "type" : "string" + } + } } } }, - "Environment" : { + "RetryStrategy" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string" + "Attempts" : { + "type" : "integer" }, - "Name" : { - "type" : "string" + "EvaluateOnExit" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/EvaluateOnExit" + } } } }, - "ResourceRequirement" : { + "EvaluateOnExit" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Value" : { + "OnExitCode" : { "type" : "string" }, - "Type" : { + "OnStatusReason" : { + "type" : "string" + }, + "OnReason" : { + "type" : "string" + }, + "Action" : { "type" : "string" } - } + }, + "required" : [ "Action" ] }, - "EphemeralStorage" : { + "NodeProperties" : { "type" : "object", "additionalProperties" : false, "properties" : { - "SizeInGiB" : { + "NumNodes" : { "type" : "integer" + }, + "MainNode" : { + "type" : "integer" + }, + "NodeRangeProperties" : { + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/NodeRangeProperty" + } } }, - "required" : [ "SizeInGiB" ] + "required" : [ "NumNodes", "MainNode", "NodeRangeProperties" ] }, - "RetryStrategy" : { + "NodeRangeProperty" : { "type" : "object", "additionalProperties" : false, "properties" : { - "EvaluateOnExit" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/EvaluateOnExit" - } + "TargetNodes" : { + "type" : "string" }, - "Attempts" : { + "Container" : { + "$ref" : "#/definitions/ContainerProperties" + } + }, + "required" : [ "TargetNodes" ] + }, + "JobTimeout" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "AttemptDurationSeconds" : { "type" : "integer" } } + } + }, + "properties" : { + "ContainerProperties" : { + "$ref" : "#/definitions/ContainerProperties" }, - "EksContainer" : { + "ContainerOrchestrationType" : { + "type" : "string" + }, + "NodeProperties" : { + "$ref" : "#/definitions/NodeProperties" + }, + "JobDefinitionName" : { + "type" : "string", + "maxLength" : 128 + }, + "JobDefinitionArn" : { + "type" : "string" + }, + "Revision" : { + "type" : "integer" + }, + "Status" : { + "type" : "string" + }, + "SchedulingPriority" : { + "type" : "integer" + }, + "Parameters" : { "type" : "object", "additionalProperties" : false, - "properties" : { - "Args" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "VolumeMounts" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/EksContainerVolumeMount" - } - }, - "ImagePullPolicy" : { - "type" : "string" - }, - "Command" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "SecurityContext" : { - "$ref" : "#/definitions/EksContainerSecurityContext" - }, - "Resources" : { - "$ref" : "#/definitions/EksContainerResourceRequirements" - }, - "Image" : { + "patternProperties" : { + ".*" : { "type" : "string" - }, - "Env" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/EksContainerEnvironmentVariable" - } - }, - "Name" : { + } + } + }, + "PlatformCapabilities" : { + "type" : "array", + "insertionOrder" : true, + "uniqueItems" : false, + "items" : { + "type" : "string" + } + }, + "PropagateTags" : { + "type" : "boolean" + }, + "RetryStrategy" : { + "$ref" : "#/definitions/RetryStrategy" + }, + "Timeout" : { + "$ref" : "#/definitions/JobTimeout" + }, + "Type" : { + "type" : "string" + }, + "Tags" : { + "type" : "object", + "additionalProperties" : false, + "description" : "A key-value pair to associate with a resource.", + "patternProperties" : { + ".*" : { "type" : "string" } - }, - "required" : [ "Image" ] + } + }, + "EksProperties" : { + "$ref" : "#/definitions/EksProperties" } }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags" + }, + "additionalProperties" : false, "required" : [ "Type" ], - "createOnlyProperties" : [ "/properties/Tags", "/properties/JobDefinitionName" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "createOnlyProperties" : [ "/properties/JobDefinitionName", "/properties/ContainerProperties", "/properties/EksProperties", "/properties/NodeProperties", "/properties/Parameters", "/properties/PlatformCapabilities", "/properties/PropagateTags", "/properties/RetryStrategy", "/properties/SchedulingPriority", "/properties/Timeout", "/properties/Type" ], + "writeOnlyProperties" : [ "/properties/ContainerProperties/InstanceType", "/properties/NodeProperties/NodeRangeProperties/*/Container/FargatePlatformConfiguration/PlatformVersion", "/properties/NodeProperties/NodeRangeProperties/*/Container/NetworkConfiguration/AssignPublicIp" ], + "readOnlyProperties" : [ "/properties/ContainerOrchestrationType", "/properties/JobDefinitionArn", "/properties/Revision", "/properties/Status" ], + "primaryIdentifier" : [ "/properties/JobDefinitionArn" ], + "handlers" : { + "create" : { + "permissions" : [ "Batch:RegisterJobDefinition", "Batch:TagResource", "Batch:DescribeJobDefinitions", "Iam:PassRole" ] + }, + "read" : { + "permissions" : [ "Batch:DescribeJobDefinitions" ] + }, + "update" : { + "permissions" : [ "Batch:DescribeJobDefinitions", "Batch:TagResource", "Batch:UntagResource", "Iam:PassRole" ] + }, + "delete" : { + "permissions" : [ "Batch:DescribeJobDefinitions", "Batch:DeregisterJobDefinition", "Iam:PassRole" ] + }, + "list" : { + "permissions" : [ "Batch:DescribeJobDefinitions" ] + } + } } \ No newline at end of file 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-codedeploy-deploymentgroup.json b/aws-cloudformation-schema/aws-codedeploy-deploymentgroup.json index a1ad70f94c..5d0a94314f 100644 --- a/aws-cloudformation-schema/aws-codedeploy-deploymentgroup.json +++ b/aws-cloudformation-schema/aws-codedeploy-deploymentgroup.json @@ -54,6 +54,9 @@ "$ref" : "#/definitions/EC2TagFilter" } }, + "TerminationHookEnabled" : { + "type" : "boolean" + }, "ECSServices" : { "type" : "array", "uniqueItems" : true, 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-connect-rule.json b/aws-cloudformation-schema/aws-connect-rule.json index f0e59d3339..11560ae0ee 100644 --- a/aws-cloudformation-schema/aws-connect-rule.json +++ b/aws-cloudformation-schema/aws-connect-rule.json @@ -3,6 +3,53 @@ "description" : "Resource Type definition for AWS:Connect::Rule", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", "definitions" : { + "FieldValue" : { + "description" : "The value of the field.", + "type" : "object", + "properties" : { + "StringValue" : { + "type" : "string" + }, + "BooleanValue" : { + "type" : "boolean" + }, + "DoubleValue" : { + "type" : "number" + }, + "EmptyValue" : { + "type" : "object" + } + }, + "additionalProperties" : false + }, + "Field" : { + "description" : "The field of the case.", + "type" : "object", + "properties" : { + "Id" : { + "description" : "The Id of the field", + "type" : "string", + "minLength" : 1, + "maxLength" : 500 + }, + "Value" : { + "$ref" : "#/definitions/FieldValue" + } + }, + "required" : [ "Id", "Value" ], + "additionalProperties" : false + }, + "Fields" : { + "description" : "An array of case fields", + "type" : "array", + "insertionOrder" : true, + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/Field" + }, + "minItems" : 1, + "maxItems" : 100 + }, "UserArn" : { "description" : "The Amazon Resource Name (ARN) of the user.", "type" : "string", @@ -135,6 +182,38 @@ "required" : [ "DeliveryMethod", "Content", "Recipient", "ContentType" ], "additionalProperties" : false }, + "CreateCaseAction" : { + "description" : "The definition for create case action.", + "type" : "object", + "properties" : { + "Fields" : { + "$ref" : "#/definitions/Fields" + }, + "TemplateId" : { + "description" : "The Id of template.", + "type" : "string", + "minLength" : 1, + "maxLength" : 500 + } + }, + "required" : [ "Fields", "TemplateId" ], + "additionalProperties" : false + }, + "UpdateCaseAction" : { + "description" : "The definition for update case action.", + "type" : "object", + "properties" : { + "Fields" : { + "$ref" : "#/definitions/Fields" + } + }, + "required" : [ "Fields" ], + "additionalProperties" : false + }, + "EndAssociatedTasksAction" : { + "description" : "The definition for ending associated task action.", + "type" : "object" + }, "AssignContactCategoryActions" : { "description" : "This action will assign contact category when a rule is triggered.", "type" : "array", @@ -164,7 +243,7 @@ "EventSourceName" : { "description" : "The name of event source.", "type" : "string", - "enum" : [ "OnContactEvaluationSubmit", "OnPostCallAnalysisAvailable", "OnRealTimeCallAnalysisAvailable", "OnRealTimeChatAnalysisAvailable", "OnPostChatAnalysisAvailable", "OnZendeskTicketCreate", "OnZendeskTicketStatusUpdate", "OnSalesforceCaseCreate", "OnMetricDataUpdate" ] + "enum" : [ "OnContactEvaluationSubmit", "OnPostCallAnalysisAvailable", "OnRealTimeCallAnalysisAvailable", "OnRealTimeChatAnalysisAvailable", "OnPostChatAnalysisAvailable", "OnZendeskTicketCreate", "OnZendeskTicketStatusUpdate", "OnSalesforceCaseCreate", "OnMetricDataUpdate", "OnCaseCreate", "OnCasesUpdate" ] }, "IntegrationAssociationArn" : { "description" : "The Amazon Resource Name (ARN) for the AppIntegration association.", @@ -197,6 +276,39 @@ "minItems" : 1, "maxItems" : 1 }, + "CreateCaseActions" : { + "description" : "This action will create a case when a rule is triggered.", + "type" : "array", + "insertionOrder" : false, + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/CreateCaseAction" + }, + "minItems" : 1, + "maxItems" : 1 + }, + "UpdateCaseActions" : { + "description" : "This action will update a case when a rule is triggered.", + "type" : "array", + "insertionOrder" : false, + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/UpdateCaseAction" + }, + "minItems" : 1, + "maxItems" : 1 + }, + "EndAssociatedTasksActions" : { + "description" : "This action will end associated tasks when a rule is triggered.", + "type" : "array", + "insertionOrder" : false, + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/EndAssociatedTasksAction" + }, + "minItems" : 1, + "maxItems" : 1 + }, "Actions" : { "description" : "The list of actions that will be executed when a rule is triggered.", "type" : "object", @@ -212,6 +324,15 @@ }, "SendNotificationActions" : { "$ref" : "#/definitions/SendNotificationActions" + }, + "CreateCaseActions" : { + "$ref" : "#/definitions/CreateCaseActions" + }, + "UpdateCaseActions" : { + "$ref" : "#/definitions/UpdateCaseActions" + }, + "EndAssociatedTaskActions" : { + "$ref" : "#/definitions/EndAssociatedTasksActions" } }, "additionalProperties" : false diff --git a/aws-cloudformation-schema/aws-connect-user.json b/aws-cloudformation-schema/aws-connect-user.json index b067144787..154d4ff712 100644 --- a/aws-cloudformation-schema/aws-connect-user.json +++ b/aws-cloudformation-schema/aws-connect-user.json @@ -1,43 +1,47 @@ { + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "handlers" : { + "read" : { + "permissions" : [ "connect:DescribeUser", "connect:ListUserProficiencies" ] + }, + "create" : { + "permissions" : [ "connect:CreateUser", "connect:TagResource", "connect:AssociateUserProficiencies" ] + }, + "update" : { + "permissions" : [ "connect:UpdateUserIdentityInfo", "connect:UpdateUserPhoneConfig", "connect:UpdateUserRoutingProfile", "connect:UpdateUserSecurityProfiles", "connect:UpdateUserHierarchy", "connect:TagResource", "connect:UntagResource", "connect:AssociateUserProficiencies", "connect:DisassociateUserProficiencies", "connect:UpdateUserProficiencies" ] + }, + "delete" : { + "permissions" : [ "connect:DeleteUser", "connect:UntagResource" ] + } + }, "typeName" : "AWS::Connect::User", + "readOnlyProperties" : [ "/properties/UserArn" ], "description" : "Resource Type definition for AWS::Connect::User", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "writeOnlyProperties" : [ "/properties/Password" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/UserArn" ], "definitions" : { - "FirstName" : { - "description" : "The first name. This is required if you are using Amazon Connect or SAML for identity management.", - "type" : "string" - }, - "LastName" : { - "description" : "The last name. This is required if you are using Amazon Connect or SAML for identity management.", - "type" : "string" + "AutoAccept" : { + "description" : "The Auto accept setting.", + "type" : "boolean" }, "Email" : { "description" : "The email address. If you are using SAML for identity management and include this parameter, an error is returned.", "type" : "string" }, - "SecondaryEmail" : { - "description" : "The secondary email address. If you provide a secondary email, the user receives email notifications -- other than password reset notifications -- to this email address instead of to their primary email address.", - "type" : "string", - "pattern" : "(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,63}" - }, - "Mobile" : { - "description" : "The mobile phone number.", - "type" : "string", - "pattern" : "^\\+[1-9]\\d{1,14}$" + "FirstName" : { + "description" : "The first name. This is required if you are using Amazon Connect or SAML for identity management.", + "type" : "string" }, "SecurityProfileArn" : { + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/security-profile/[-a-zA-Z0-9]*$", "description" : "The identifier of the security profile for the user.", - "type" : "string", - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/security-profile/[-a-zA-Z0-9]*$" - }, - "AfterContactWorkTimeLimit" : { - "description" : "The After Call Work (ACW) timeout setting, in seconds.", - "type" : "integer", - "minimum" : 0 + "type" : "string" }, - "AutoAccept" : { - "description" : "The Auto accept setting.", - "type" : "boolean" + "Mobile" : { + "pattern" : "^\\+[1-9]\\d{1,14}$", + "description" : "The mobile phone number.", + "type" : "string" }, "DeskPhoneNumber" : { "description" : "The phone number for the user's desk phone.", @@ -48,23 +52,32 @@ "type" : "string", "enum" : [ "SOFT_PHONE", "DESK_PHONE" ] }, + "SecondaryEmail" : { + "pattern" : "(?=^.{0,265}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,63}", + "description" : "The secondary email address. If you provide a secondary email, the user receives email notifications -- other than password reset notifications -- to this email address instead of to their primary email address.", + "type" : "string" + }, + "LastName" : { + "description" : "The last name. This is required if you are using Amazon Connect or SAML for identity management.", + "type" : "string" + }, "UserIdentityInfo" : { "description" : "Contains information about the identity of a user.", - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "FirstName" : { - "$ref" : "#/definitions/FirstName" - }, - "LastName" : { - "$ref" : "#/definitions/LastName" - }, "Email" : { "$ref" : "#/definitions/Email" }, + "FirstName" : { + "$ref" : "#/definitions/FirstName" + }, "SecondaryEmail" : { "$ref" : "#/definitions/SecondaryEmail" }, + "LastName" : { + "$ref" : "#/definitions/LastName" + }, "Mobile" : { "$ref" : "#/definitions/Mobile" } @@ -72,129 +85,116 @@ }, "UserPhoneConfig" : { "description" : "Contains information about the phone configuration settings for a user.", - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "AfterContactWorkTimeLimit" : { - "$ref" : "#/definitions/AfterContactWorkTimeLimit" - }, "AutoAccept" : { "$ref" : "#/definitions/AutoAccept" }, + "PhoneType" : { + "$ref" : "#/definitions/PhoneType" + }, "DeskPhoneNumber" : { "$ref" : "#/definitions/DeskPhoneNumber" }, - "PhoneType" : { - "$ref" : "#/definitions/PhoneType" + "AfterContactWorkTimeLimit" : { + "$ref" : "#/definitions/AfterContactWorkTimeLimit" } }, "required" : [ "PhoneType" ] }, "Tag" : { "description" : "A key-value pair to associate with a resource.", - "type" : "object", "additionalProperties" : false, + "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, - "pattern" : "^(?!aws:)[a-zA-Z+-=._:/]+$" - }, "Value" : { - "type" : "string", "description" : "The value for the tag. You can specify a value that is maximum of 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" : "string", "maxLength" : 256 + }, + "Key" : { + "minLength" : 1, + "pattern" : "^(?!aws:)[a-zA-Z+-=._:/]+$", + "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 -. ", + "type" : "string", + "maxLength" : 128 } }, "required" : [ "Key", "Value" ] + }, + "AfterContactWorkTimeLimit" : { + "description" : "The After Call Work (ACW) timeout setting, in seconds.", + "type" : "integer", + "minimum" : 0 } }, + "required" : [ "InstanceArn", "PhoneConfig", "RoutingProfileArn", "SecurityProfileArns", "Username" ], "properties" : { - "InstanceArn" : { - "description" : "The identifier of the Amazon Connect instance.", - "type" : "string", - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$" - }, - "DirectoryUserId" : { - "description" : "The identifier of the user account in the directory used for identity management.", + "UserArn" : { + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/agent/[-a-zA-Z0-9]*$", + "description" : "The Amazon Resource Name (ARN) for the user.", "type" : "string" }, - "HierarchyGroupArn" : { - "description" : "The identifier of the hierarchy group for the user.", - "type" : "string", - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/agent-group/[-a-zA-Z0-9]*$" + "RoutingProfileArn" : { + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/routing-profile/[-a-zA-Z0-9]*$", + "description" : "The identifier of the routing profile for the user.", + "type" : "string" }, "Username" : { + "minLength" : 1, + "pattern" : "[a-zA-Z0-9\\_\\-\\.\\@]+", "description" : "The user name for the account.", "type" : "string", - "minLength" : 1, - "maxLength" : 64, - "pattern" : "[a-zA-Z0-9\\_\\-\\.\\@]+" + "maxLength" : 64 }, - "Password" : { - "description" : "The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password.", - "type" : "string", - "pattern" : "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\S]{8,64}$" + "PhoneConfig" : { + "description" : "The phone settings for the user.", + "$ref" : "#/definitions/UserPhoneConfig" }, - "RoutingProfileArn" : { - "description" : "The identifier of the routing profile for the user.", - "type" : "string", - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/routing-profile/[-a-zA-Z0-9]*$" + "InstanceArn" : { + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", + "description" : "The identifier of the Amazon Connect instance.", + "type" : "string" + }, + "DirectoryUserId" : { + "description" : "The identifier of the user account in the directory used for identity management.", + "type" : "string" }, "IdentityInfo" : { "description" : "The information about the identity of the user.", "$ref" : "#/definitions/UserIdentityInfo" }, - "PhoneConfig" : { - "description" : "The phone settings for the user.", - "$ref" : "#/definitions/UserPhoneConfig" + "HierarchyGroupArn" : { + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/agent-group/[-a-zA-Z0-9]*$", + "description" : "The identifier of the hierarchy group for the user.", + "type" : "string" }, "SecurityProfileArns" : { - "type" : "array", "minItems" : 1, "maxItems" : 10, "uniqueItems" : true, - "insertionOrder" : false, "description" : "One or more security profile arns for the user", + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/SecurityProfileArn" } }, - "UserArn" : { - "description" : "The Amazon Resource Name (ARN) for the user.", - "type" : "string", - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/agent/[-a-zA-Z0-9]*$" - }, "Tags" : { - "type" : "array", "maxItems" : 50, "uniqueItems" : true, - "insertionOrder" : false, "description" : "One or more tags.", + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/Tag" } - } - }, - "required" : [ "InstanceArn", "PhoneConfig", "RoutingProfileArn", "SecurityProfileArns", "Username" ], - "handlers" : { - "create" : { - "permissions" : [ "connect:CreateUser", "connect:TagResource" ] }, - "read" : { - "permissions" : [ "connect:DescribeUser" ] - }, - "delete" : { - "permissions" : [ "connect:DeleteUser", "connect:UntagResource" ] - }, - "update" : { - "permissions" : [ "connect:UpdateUserIdentityInfo", "connect:UpdateUserPhoneConfig", "connect:UpdateUserRoutingProfile", "connect:UpdateUserSecurityProfiles", "connect:UpdateUserHierarchy", "connect:TagResource", "connect:UntagResource" ] + "Password" : { + "pattern" : "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\S]{8,64}$", + "description" : "The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password.", + "type" : "string" } - }, - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/UserArn" ], - "readOnlyProperties" : [ "/properties/UserArn" ], - "writeOnlyProperties" : [ "/properties/Password" ] + } } \ 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..d37ac6eac7 100644 --- a/aws-cloudformation-schema/aws-ec2-instance.json +++ b/aws-cloudformation-schema/aws-ec2-instance.json @@ -53,14 +53,14 @@ }, "ElasticGpuSpecifications" : { "type" : "array", - "uniqueItems" : true, + "uniqueItems" : false, "items" : { "$ref" : "#/definitions/ElasticGpuSpecification" } }, "ElasticInferenceAccelerators" : { "type" : "array", - "uniqueItems" : true, + "uniqueItems" : false, "items" : { "$ref" : "#/definitions/ElasticInferenceAccelerator" } @@ -115,11 +115,14 @@ }, "LicenseSpecifications" : { "type" : "array", - "uniqueItems" : true, + "uniqueItems" : false, "items" : { "$ref" : "#/definitions/LicenseSpecification" } }, + "InstanceId" : { + "type" : "string" + }, "PublicIp" : { "type" : "string" }, @@ -176,9 +179,6 @@ "Affinity" : { "type" : "string" }, - "Id" : { - "type" : "string" - }, "CreditSpecification" : { "$ref" : "#/definitions/CreditSpecification" } @@ -231,10 +231,6 @@ } } }, - "NoDevice" : { - "type" : "object", - "additionalProperties" : false - }, "InstanceIpv6Address" : { "type" : "object", "additionalProperties" : false, @@ -442,7 +438,7 @@ "additionalProperties" : false, "properties" : { "NoDevice" : { - "$ref" : "#/definitions/NoDevice" + "type" : "object" }, "VirtualName" : { "type" : "string" @@ -479,7 +475,7 @@ } } }, - "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" ] + "createOnlyProperties" : [ "/properties/Ipv6Addresses", "/properties/ElasticGpuSpecifications", "/properties/PlacementGroupName", "/properties/HostResourceGroupArn", "/properties/ImageId", "/properties/CpuOptions", "/properties/PrivateIpAddress", "/properties/ElasticInferenceAccelerators", "/properties/EnclaveOptions", "/properties/HibernationOptions", "/properties/LicenseSpecifications", "/properties/KeyName", "/properties/NetworkInterfaces", "/properties/SubnetId", "/properties/AvailabilityZone", "/properties/LaunchTemplate", "/properties/SecurityGroups", "/properties/Ipv6AddressCount" ], + "primaryIdentifier" : [ "/properties/InstanceId" ], + "readOnlyProperties" : [ "/properties/InstanceId", "/properties/PublicIp", "/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-route.json b/aws-cloudformation-schema/aws-ec2-route.json index c5caa1bdb6..4ef85c02de 100644 --- a/aws-cloudformation-schema/aws-ec2-route.json +++ b/aws-cloudformation-schema/aws-ec2-route.json @@ -12,6 +12,10 @@ "type" : "string", "description" : "The primary identifier of the resource generated by the service." }, + "CoreNetworkArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the core network." + }, "DestinationCidrBlock" : { "type" : "string", "description" : "The IPv4 CIDR block used for the destination match." 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-snapshotblockpublicaccess.json b/aws-cloudformation-schema/aws-ec2-snapshotblockpublicaccess.json new file mode 100644 index 0000000000..7e78b5d74d --- /dev/null +++ b/aws-cloudformation-schema/aws-ec2-snapshotblockpublicaccess.json @@ -0,0 +1,40 @@ +{ + "typeName" : "AWS::EC2::SnapshotBlockPublicAccess", + "description" : "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "additionalProperties" : false, + "properties" : { + "State" : { + "type" : "string", + "description" : "The state of EBS Snapshot Block Public Access.", + "enum" : [ "block-all-sharing", "block-new-sharing" ] + }, + "AccountId" : { + "type" : "string", + "description" : "The identifier for the specified AWS account." + } + }, + "primaryIdentifier" : [ "/properties/AccountId" ], + "readOnlyProperties" : [ "/properties/AccountId" ], + "required" : [ "State" ], + "tagging" : { + "taggable" : false + }, + "handlers" : { + "create" : { + "permissions" : [ "ec2:EnableSnapshotBlockPublicAccess", "ec2:GetSnapshotBlockPublicAccessState" ] + }, + "read" : { + "permissions" : [ "ec2:GetSnapshotBlockPublicAccessState" ] + }, + "update" : { + "permissions" : [ "ec2:EnableSnapshotBlockPublicAccess", "ec2:GetSnapshotBlockPublicAccessState" ] + }, + "delete" : { + "permissions" : [ "ec2:DisableSnapshotBlockPublicAccess", "ec2:GetSnapshotBlockPublicAccessState" ] + }, + "list" : { + "permissions" : [ "ec2:GetSnapshotBlockPublicAccessState" ] + } + } +} \ 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-clustercapacityproviderassociations.json b/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json index 15c075d8ee..6b39c47c67 100644 --- a/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json +++ b/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json @@ -72,6 +72,12 @@ "required" : [ "CapacityProviders", "Cluster", "DefaultCapacityProviderStrategy" ], "createOnlyProperties" : [ "/properties/Cluster" ], "primaryIdentifier" : [ "/properties/Cluster" ], + "tagging" : { + "cloudFormationSystemTags" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "taggable" : false + }, "handlers" : { "create" : { "permissions" : [ "ecs:DescribeClusters", "ecs:PutClusterCapacityProviders" ] 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-eks-cluster.json b/aws-cloudformation-schema/aws-eks-cluster.json index ec3897ce56..475e357c50 100644 --- a/aws-cloudformation-schema/aws-eks-cluster.json +++ b/aws-cloudformation-schema/aws-eks-cluster.json @@ -1,197 +1,141 @@ { - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true - }, "typeName" : "AWS::EKS::Cluster", - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/Endpoint", "/properties/CertificateAuthorityData", "/properties/ClusterSecurityGroupId", "/properties/EncryptionConfigKeyArn", "/properties/OpenIdConnectIssuerUrl", "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" ], "description" : "An object representing an Amazon EKS cluster.", - "createOnlyProperties" : [ "/properties/OutpostConfig", "/properties/EncryptionConfig", "/properties/KubernetesNetworkConfig", "/properties/Name", "/properties/RoleArn" ], - "primaryIdentifier" : [ "/properties/Name" ], - "required" : [ "RoleArn", "ResourcesVpcConfig" ], "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", - "handlers" : { - "read" : { - "permissions" : [ "eks:DescribeCluster" ] - }, - "create" : { - "permissions" : [ "eks:CreateCluster", "eks:DescribeCluster", "eks:TagResource", "iam:PassRole", "iam:GetRole", "iam:ListAttachedRolePolicies", "iam:CreateServiceLinkedRole", "iam:CreateInstanceProfile", "iam:TagInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetInstanceProfile", "iam:DeleteInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "kms:DescribeKey", "kms:CreateGrant" ] - }, - "update" : { - "permissions" : [ "iam:PassRole", "eks:UpdateClusterConfig", "eks:UpdateClusterVersion", "eks:DescribeCluster", "eks:DescribeUpdate", "eks:TagResource", "eks:UntagResource" ], - "timeoutInMinutes" : 180 - }, - "list" : { - "permissions" : [ "eks:ListClusters" ] - }, - "delete" : { - "permissions" : [ "eks:DeleteCluster", "eks:DescribeCluster" ] - } - }, - "additionalProperties" : false, "definitions" : { - "Logging" : { - "description" : "Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "ClusterLogging" : { - "description" : "The cluster control plane logging configuration for your cluster. ", - "$ref" : "#/definitions/ClusterLogging" - } - } - }, - "EnabledTypes" : { - "description" : "Enable control plane logs for your cluster, all log types will be disabled if the array is empty", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/LoggingTypeConfig" - } - }, "Tag" : { "description" : "A key-value pair to associate with a resource.", - "additionalProperties" : false, "type" : "object", "properties" : { - "Value" : { - "minLength" : 0, - "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" : "string", - "maxLength" : 256 - }, "Key" : { - "minLength" : 1, - "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 -.", "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" ] + "required" : [ "Key", "Value" ], + "additionalProperties" : false }, - "ControlPlanePlacement" : { - "description" : "Specify the placement group of the control plane machines for your cluster.", - "additionalProperties" : false, + "Provider" : { "type" : "object", - "properties" : { - "GroupName" : { - "description" : "Specify the placement group name of the control place machines for your cluster.", - "type" : "string" - } - } - }, - "OutpostConfig" : { - "description" : "An object representing the Outpost configuration to use for AWS EKS outpost cluster.", "additionalProperties" : false, - "type" : "object", "properties" : { - "OutpostArns" : { - "description" : "Specify one or more Arn(s) of Outpost(s) on which you would like to create your cluster.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "minItems" : 1, - "type" : "string" - } - }, - "ControlPlanePlacement" : { - "description" : "Specify the placement group of the control plane machines for your cluster.", - "$ref" : "#/definitions/ControlPlanePlacement" - }, - "ControlPlaneInstanceType" : { - "description" : "Specify the Instance type of the machines that should be used to create your cluster.", + "KeyArn" : { + "description" : "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.", "type" : "string" } - }, - "required" : [ "OutpostArns", "ControlPlaneInstanceType" ] + } }, "EncryptionConfig" : { "description" : "The encryption configuration for the cluster", - "additionalProperties" : false, "type" : "object", "properties" : { + "Provider" : { + "description" : "The encryption provider for the cluster.", + "$ref" : "#/definitions/Provider" + }, "Resources" : { "description" : "Specifies the resources to be encrypted. The only supported value is \"secrets\".", - "insertionOrder" : false, "type" : "array", + "insertionOrder" : false, "items" : { "type" : "string" } - }, - "Provider" : { - "description" : "The encryption provider for the cluster.", - "$ref" : "#/definitions/Provider" } - } - }, - "LoggingTypeConfig" : { - "description" : "Enabled Logging Type", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Type" : { - "description" : "name of the log type", - "type" : "string", - "enum" : [ "api", "audit", "authenticator", "controllerManager", "scheduler" ] - } - } + }, + "additionalProperties" : false }, "ResourcesVpcConfig" : { "description" : "An object representing the VPC configuration to use for an Amazon EKS cluster.", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { + "EndpointPrivateAccess" : { + "description" : "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods.", + "type" : "boolean" + }, "EndpointPublicAccess" : { "description" : "Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server.", "type" : "boolean" }, "PublicAccessCidrs" : { "description" : "The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks.", - "insertionOrder" : false, "type" : "array", + "insertionOrder" : false, "items" : { - "minItems" : 1, - "type" : "string" + "type" : "string", + "minItems" : 1 } }, - "EndpointPrivateAccess" : { - "description" : "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods.", - "type" : "boolean" - }, "SecurityGroupIds" : { "description" : "Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.", - "insertionOrder" : false, "type" : "array", + "insertionOrder" : false, "items" : { - "minItems" : 1, - "type" : "string" + "type" : "string", + "minItems" : 1 } }, "SubnetIds" : { "description" : "Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.", - "insertionOrder" : false, "type" : "array", + "insertionOrder" : false, "items" : { - "minItems" : 1, - "type" : "string" + "type" : "string", + "minItems" : 1 } } }, "required" : [ "SubnetIds" ] }, + "LoggingTypeConfig" : { + "description" : "Enabled Logging Type", + "type" : "object", + "properties" : { + "Type" : { + "description" : "name of the log type", + "type" : "string", + "enum" : [ "api", "audit", "authenticator", "controllerManager", "scheduler" ] + } + }, + "additionalProperties" : false + }, + "EnabledTypes" : { + "description" : "Enable control plane logs for your cluster, all log types will be disabled if the array is empty", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/LoggingTypeConfig" + } + }, "ClusterLogging" : { "description" : "The cluster control plane logging configuration for your cluster. ", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "EnabledTypes" : { "$ref" : "#/definitions/EnabledTypes" } } }, + "Logging" : { + "description" : "Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ClusterLogging" : { + "description" : "The cluster control plane logging configuration for your cluster. ", + "$ref" : "#/definitions/ClusterLogging" + } + } + }, "KubernetesNetworkConfig" : { "description" : "The Kubernetes network configuration for the cluster.", "additionalProperties" : false, @@ -212,90 +156,166 @@ } } }, - "Provider" : { + "ControlPlanePlacement" : { + "description" : "Specify the placement group of the control plane machines for your cluster.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "GroupName" : { + "description" : "Specify the placement group name of the control place machines for your cluster.", + "type" : "string" + } + } + }, + "OutpostConfig" : { + "description" : "An object representing the Outpost configuration to use for AWS EKS outpost cluster.", "additionalProperties" : false, "type" : "object", "properties" : { - "KeyArn" : { - "description" : "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.", + "OutpostArns" : { + "description" : "Specify one or more Arn(s) of Outpost(s) on which you would like to create your cluster.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string", + "minItems" : 1 + } + }, + "ControlPlaneInstanceType" : { + "description" : "Specify the Instance type of the machines that should be used to create your cluster.", "type" : "string" + }, + "ControlPlanePlacement" : { + "description" : "Specify the placement group of the control plane machines for your cluster.", + "$ref" : "#/definitions/ControlPlanePlacement" + } + }, + "required" : [ "OutpostArns", "ControlPlaneInstanceType" ] + }, + "AccessConfig" : { + "description" : "An object representing the Access Config to use for the cluster.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "BootstrapClusterCreatorAdminPermissions" : { + "description" : "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.", + "type" : "boolean" + }, + "AuthenticationMode" : { + "description" : "Specify the authentication mode that should be used to create your cluster.", + "type" : "string", + "enum" : [ "CONFIG_MAP", "API_AND_CONFIG_MAP", "API" ] } } } }, "properties" : { - "Logging" : { - "$ref" : "#/definitions/Logging" - }, - "EncryptionConfigKeyArn" : { - "description" : "Amazon Resource Name (ARN) or alias of the customer master key (CMK).", - "type" : "string" - }, - "CertificateAuthorityData" : { - "description" : "The certificate-authority-data for your cluster.", - "type" : "string" - }, "EncryptionConfig" : { - "insertionOrder" : false, "type" : "array", + "insertionOrder" : false, "items" : { - "maxItems" : 1, - "$ref" : "#/definitions/EncryptionConfig" + "$ref" : "#/definitions/EncryptionConfig", + "maxItems" : 1 } }, "KubernetesNetworkConfig" : { "$ref" : "#/definitions/KubernetesNetworkConfig" }, - "RoleArn" : { - "description" : "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.", - "type" : "string" + "Logging" : { + "$ref" : "#/definitions/Logging" }, "Name" : { - "minLength" : 1, - "pattern" : "^[0-9A-Za-z][A-Za-z0-9\\-_]*", "description" : "The unique name to give to your cluster.", "type" : "string", + "pattern" : "^[0-9A-Za-z][A-Za-z0-9\\-_]*", + "minLength" : 1, "maxLength" : 100 }, - "Endpoint" : { - "description" : "The endpoint for your Kubernetes API server, such as https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com.", - "type" : "string" - }, - "Version" : { - "pattern" : "1\\.\\d\\d", - "description" : "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.", - "type" : "string" - }, - "ClusterSecurityGroupId" : { - "description" : "The cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control plane to data plane communication.", - "type" : "string" - }, "Id" : { "description" : "The unique ID given to your cluster.", "type" : "string" }, + "ResourcesVpcConfig" : { + "$ref" : "#/definitions/ResourcesVpcConfig" + }, "OutpostConfig" : { "$ref" : "#/definitions/OutpostConfig" }, - "Arn" : { - "description" : "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod.", + "AccessConfig" : { + "$ref" : "#/definitions/AccessConfig" + }, + "RoleArn" : { + "description" : "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.", "type" : "string" }, - "ResourcesVpcConfig" : { - "$ref" : "#/definitions/ResourcesVpcConfig" + "Version" : { + "description" : "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.", + "type" : "string", + "pattern" : "1\\.\\d\\d" }, "Tags" : { - "uniqueItems" : true, "description" : "An array of key-value pairs to apply to this resource.", - "insertionOrder" : false, "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, "items" : { "$ref" : "#/definitions/Tag" } }, + "Arn" : { + "description" : "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod.", + "type" : "string" + }, + "Endpoint" : { + "description" : "The endpoint for your Kubernetes API server, such as https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com.", + "type" : "string" + }, + "CertificateAuthorityData" : { + "description" : "The certificate-authority-data for your cluster.", + "type" : "string" + }, + "ClusterSecurityGroupId" : { + "description" : "The cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control plane to data plane communication.", + "type" : "string" + }, + "EncryptionConfigKeyArn" : { + "description" : "Amazon Resource Name (ARN) or alias of the customer master key (CMK).", + "type" : "string" + }, "OpenIdConnectIssuerUrl" : { "description" : "The issuer URL for the cluster's OIDC identity provider, such as https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E. If you need to remove https:// from this output value, you can include the following code in your template.", "type" : "string" } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, + "additionalProperties" : false, + "required" : [ "RoleArn", "ResourcesVpcConfig" ], + "primaryIdentifier" : [ "/properties/Name" ], + "createOnlyProperties" : [ "/properties/OutpostConfig", "/properties/EncryptionConfig", "/properties/KubernetesNetworkConfig", "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", "/properties/Name", "/properties/RoleArn" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/Endpoint", "/properties/CertificateAuthorityData", "/properties/ClusterSecurityGroupId", "/properties/EncryptionConfigKeyArn", "/properties/OpenIdConnectIssuerUrl", "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" ], + "writeOnlyProperties" : [ "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions" ], + "handlers" : { + "create" : { + "permissions" : [ "eks:CreateCluster", "eks:DescribeCluster", "eks:TagResource", "iam:PassRole", "iam:GetRole", "iam:ListAttachedRolePolicies", "iam:CreateServiceLinkedRole", "iam:CreateInstanceProfile", "iam:TagInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetInstanceProfile", "iam:DeleteInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "kms:DescribeKey", "kms:CreateGrant" ] + }, + "read" : { + "permissions" : [ "eks:DescribeCluster" ] + }, + "update" : { + "permissions" : [ "iam:PassRole", "eks:UpdateClusterConfig", "eks:UpdateClusterVersion", "eks:DescribeCluster", "eks:DescribeUpdate", "eks:TagResource", "eks:UntagResource" ], + "timeoutInMinutes" : 180 + }, + "delete" : { + "permissions" : [ "eks:DeleteCluster", "eks:DescribeCluster" ] + }, + "list" : { + "permissions" : [ "eks:ListClusters" ] + } } } \ No newline at end of file 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-elasticloadbalancingv2-targetgroup.json b/aws-cloudformation-schema/aws-elasticloadbalancingv2-targetgroup.json index 31a2322fb7..f9351c879f 100644 --- a/aws-cloudformation-schema/aws-elasticloadbalancingv2-targetgroup.json +++ b/aws-cloudformation-schema/aws-elasticloadbalancingv2-targetgroup.json @@ -193,7 +193,7 @@ }, "handlers" : { "create" : { - "permissions" : [ "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:AddTags" ] + "permissions" : [ "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:ModifyTargetGroupAttributes", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:AddTags" ] }, "delete" : { "permissions" : [ "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeTargetGroups" ] @@ -205,7 +205,7 @@ "permissions" : [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeTags" ] }, "update" : { - "permissions" : [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:ModifyTargetGroup", "elasticloadbalancing:ModifyTargetGroupAttributes", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:AddTags", "elasticloadbalancing:RemoveTags" ] + "permissions" : [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:ModifyTargetGroup", "elasticloadbalancing:ModifyTargetGroupAttributes", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:AddTags", "elasticloadbalancing:RemoveTags" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-emr-cluster.json b/aws-cloudformation-schema/aws-emr-cluster.json index 7a9c2dc265..978e768f88 100644 --- a/aws-cloudformation-schema/aws-emr-cluster.json +++ b/aws-cloudformation-schema/aws-emr-cluster.json @@ -10,6 +10,13 @@ "$ref" : "#/definitions/StepConfig" } }, + "PlacementGroupConfigs" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/PlacementGroupConfig" + } + }, "StepConcurrencyLevel" : { "type" : "integer" }, @@ -83,12 +90,18 @@ "CustomAmiId" : { "type" : "string" }, + "EbsRootVolumeIops" : { + "type" : "integer" + }, "Instances" : { "$ref" : "#/definitions/JobFlowInstancesConfig" }, "ScaleDownBehavior" : { "type" : "string" }, + "EbsRootVolumeThroughput" : { + "type" : "integer" + }, "JobFlowRole" : { "type" : "string" }, @@ -292,6 +305,19 @@ }, "required" : [ "ScalingAdjustment" ] }, + "PlacementGroupConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "InstanceRole" : { + "type" : "string" + }, + "PlacementStrategy" : { + "type" : "string" + } + }, + "required" : [ "InstanceRole" ] + }, "OnDemandProvisioningSpecification" : { "type" : "object", "additionalProperties" : false, @@ -729,7 +755,7 @@ } }, "required" : [ "Instances", "ServiceRole", "JobFlowRole", "Name" ], - "createOnlyProperties" : [ "/properties/Steps", "/properties/EbsRootVolumeSize", "/properties/SecurityConfiguration", "/properties/ScaleDownBehavior", "/properties/Configurations", "/properties/ReleaseLabel", "/properties/BootstrapActions", "/properties/KerberosAttributes", "/properties/ServiceRole", "/properties/LogEncryptionKmsKeyId", "/properties/Name", "/properties/JobFlowRole", "/properties/AdditionalInfo", "/properties/LogUri", "/properties/CustomAmiId", "/properties/OSReleaseLabel", "/properties/AutoScalingRole", "/properties/Applications" ], + "createOnlyProperties" : [ "/properties/Steps", "/properties/EbsRootVolumeSize", "/properties/SecurityConfiguration", "/properties/ScaleDownBehavior", "/properties/Configurations", "/properties/ReleaseLabel", "/properties/BootstrapActions", "/properties/EbsRootVolumeIops", "/properties/KerberosAttributes", "/properties/ServiceRole", "/properties/LogEncryptionKmsKeyId", "/properties/Name", "/properties/EbsRootVolumeThroughput", "/properties/JobFlowRole", "/properties/AdditionalInfo", "/properties/LogUri", "/properties/CustomAmiId", "/properties/PlacementGroupConfigs", "/properties/OSReleaseLabel", "/properties/AutoScalingRole", "/properties/Applications" ], "primaryIdentifier" : [ "/properties/Id" ], "readOnlyProperties" : [ "/properties/Id", "/properties/MasterPublicDNS" ] } \ No newline at end of file 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-eventschemas-schema.json b/aws-cloudformation-schema/aws-eventschemas-schema.json index 6904ee8433..2b0d7e8325 100644 --- a/aws-cloudformation-schema/aws-eventschemas-schema.json +++ b/aws-cloudformation-schema/aws-eventschemas-schema.json @@ -1,38 +1,52 @@ { "typeName" : "AWS::EventSchemas::Schema", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eventschemas", "description" : "Resource Type definition for AWS::EventSchemas::Schema", "additionalProperties" : false, "properties" : { "Type" : { - "type" : "string" + "type" : "string", + "description" : "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." }, "Description" : { - "type" : "string" + "type" : "string", + "description" : "A description of the schema." }, "SchemaVersion" : { - "type" : "string" + "type" : "string", + "description" : "The version number of the schema." }, "Content" : { - "type" : "string" + "type" : "string", + "description" : "The source of the schema definition." }, "RegistryName" : { - "type" : "string" - }, - "Id" : { - "type" : "string" + "type" : "string", + "description" : "The name of the schema registry." }, "SchemaArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the schema." }, "SchemaName" : { - "type" : "string" + "type" : "string", + "description" : "The name of the schema." + }, + "LastModified" : { + "type" : "string", + "description" : "The last modified time of the schema." + }, + "VersionCreatedDate" : { + "type" : "string", + "description" : "The date the schema version was created." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/TagsEntry" - } + }, + "description" : "Tags associated with the resource." } }, "definitions" : { @@ -51,7 +65,39 @@ } }, "required" : [ "Type", "Content", "RegistryName" ], + "primaryIdentifier" : [ "/properties/SchemaArn" ], "createOnlyProperties" : [ "/properties/SchemaName", "/properties/RegistryName" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/SchemaVersion", "/properties/SchemaArn" ] + "readOnlyProperties" : [ "/properties/SchemaArn", "/properties/LastModified", "/properties/VersionCreatedDate", "/properties/SchemaVersion" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "schemas:DescribeSchema", "schemas:CreateSchema", "schemas:TagResource" ] + }, + "read" : { + "permissions" : [ "schemas:DescribeSchema" ] + }, + "update" : { + "permissions" : [ "schemas:DescribeSchema", "schemas:UpdateSchema", "schemas:TagResource", "schemas:UntagResource", "schemas:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "schemas:DescribeSchema", "schemas:DeleteSchema", "schemas:DeleteSchemaVersion" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "RegistryName" : { + "type" : "string" + } + }, + "required" : [ "RegistryName" ] + }, + "permissions" : [ "schemas:ListSchemas", "schemas:ListSchemaVersions" ] + } + } } \ 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-gamelift-fleet.json b/aws-cloudformation-schema/aws-gamelift-fleet.json index c90496eac5..d672bbfd79 100644 --- a/aws-cloudformation-schema/aws-gamelift-fleet.json +++ b/aws-cloudformation-schema/aws-gamelift-fleet.json @@ -1,439 +1,444 @@ { "$schema" : "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "deprecatedProperties" : [ "/properties/LogPaths", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath" ], - "taggable" : true, "typeName" : "AWS::GameLift::Fleet", - "readOnlyProperties" : [ "/properties/FleetId" ], "description" : "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions.", - "createOnlyProperties" : [ "/properties/BuildId", "/properties/CertificateConfiguration", "/properties/EC2InstanceType", "/properties/FleetType", "/properties/InstanceRoleARN", "/properties/InstanceRoleCredentialsProvider", "/properties/LogPaths", "/properties/PeerVpcAwsAccountId", "/properties/PeerVpcId", "/properties/ScriptId", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath", "/properties/CertificateType", "/properties/ComputeType" ], - "primaryIdentifier" : [ "/properties/FleetId" ], - "required" : [ "Name" ], "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "handlers" : { - "read" : { - "permissions" : [ "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes", "gamelift:DescribeFleetCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetUtilization", "gamelift:DescribeRuntimeConfiguration", "gamelift:DescribeEC2InstanceLimits", "gamelift:DescribeFleetEvents", "gamelift:DescribeScalingPolicies" ] - }, - "create" : { - "permissions" : [ "gamelift:CreateFleet", "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes", "gamelift:UpdateFleetCapacity", "gamelift:DescribeFleetLocationCapacity", "gamelift:PutScalingPolicy", "gamelift:DescribeScalingPolicies" ] - }, - "update" : { - "permissions" : [ "gamelift:UpdateFleetAttributes", "gamelift:CreateFleetLocations", "gamelift:DeleteFleetLocations", "gamelift:UpdateFleetCapacity", "gamelift:UpdateFleetPortSettings", "gamelift:UpdateRuntimeConfiguration", "gamelift:DescribeFleetLocationCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetLocationAttributes", "gamelift:PutScalingPolicy", "gamelift:DescribeScalingPolicies", "gamelift:DeleteScalingPolicy" ] - }, - "list" : { - "permissions" : [ "gamelift:ListFleets" ] - }, - "delete" : { - "permissions" : [ "gamelift:DeleteFleet", "gamelift:DescribeFleetLocationCapacity", "gamelift:DescribeScalingPolicies", "gamelift:DeleteScalingPolicy" ] - } - }, - "additionalProperties" : false, "definitions" : { - "ScalingPolicy" : { - "description" : "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.", + "AnywhereConfiguration" : { + "description" : "Configuration for Anywhere fleet.", + "properties" : { + "Cost" : { + "description" : "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.", + "type" : "string", + "pattern" : "^\\d{1,5}(?:\\.\\d{1,5})?$", + "minLength" : 1, + "maxLength" : 11 + } + }, "additionalProperties" : false, + "required" : [ "Cost" ] + }, + "CertificateConfiguration" : { + "description" : "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.", "type" : "object", "properties" : { - "Status" : { - "description" : "Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.", - "type" : "string", - "enum" : [ "ACTIVE", "UPDATE_REQUESTED", "UPDATING", "DELETE_REQUESTED", "DELETING", "DELETED", "ERROR" ] - }, - "MetricName" : { - "description" : "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.", - "type" : "string", - "enum" : [ "ActivatingGameSessions", "ActiveGameSessions", "ActiveInstances", "AvailableGameSessions", "AvailablePlayerSessions", "CurrentPlayerSessions", "IdleInstances", "PercentAvailableGameSessions", "PercentIdleInstances", "QueueDepth", "WaitTime", "ConcurrentActivatableGameSessions" ] - }, - "PolicyType" : { - "description" : "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.", - "type" : "string", - "enum" : [ "RuleBased", "TargetBased" ] - }, - "ComparisonOperator" : { - "description" : "Comparison operator to use when measuring a metric against the threshold value.", - "type" : "string", - "enum" : [ "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold" ] - }, - "TargetConfiguration" : { - "description" : "An object that contains settings for a target-based scaling policy.", - "$ref" : "#/definitions/TargetConfiguration" - }, - "UpdateStatus" : { - "description" : "The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.", + "CertificateType" : { "type" : "string", - "enum" : [ "PENDING_UPDATE" ] - }, - "ScalingAdjustment" : { - "description" : "Amount of adjustment to make, based on the scaling adjustment type.", - "type" : "integer" - }, - "EvaluationPeriods" : { - "description" : "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.", + "enum" : [ "DISABLED", "GENERATED" ] + } + }, + "additionalProperties" : false, + "required" : [ "CertificateType" ] + }, + "IpPermission" : { + "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", + "type" : "object", + "properties" : { + "FromPort" : { + "description" : "A starting value for a range of allowed port numbers.", "type" : "integer", - "minimum" : 1 - }, - "Location" : { - "$ref" : "#/definitions/Location" + "minimum" : 1, + "maximum" : 60000 }, - "Name" : { - "minLength" : 1, - "description" : "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.", + "IpRange" : { + "description" : "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".", "type" : "string", - "maxLength" : 1024 + "pattern" : "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)" }, - "ScalingAdjustmentType" : { - "description" : "The type of adjustment to make to a fleet's instance count.", + "Protocol" : { + "description" : "The network communication protocol used by the fleet.", "type" : "string", - "enum" : [ "ChangeInCapacity", "ExactCapacity", "PercentChangeInCapacity" ] + "enum" : [ "TCP", "UDP" ] }, - "Threshold" : { - "description" : "Metric value used to trigger a scaling event.", - "type" : "number" + "ToPort" : { + "description" : "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", + "type" : "integer", + "minimum" : 1, + "maximum" : 60000 } }, - "required" : [ "MetricName", "Name" ] - }, - "ServerProcess" : { - "description" : "A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration.", "additionalProperties" : false, + "required" : [ "FromPort", "IpRange", "Protocol", "ToPort" ] + }, + "Location" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 64, + "pattern" : "^[A-Za-z0-9\\-]+" + }, + "LocationCapacity" : { + "description" : "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.", "type" : "object", "properties" : { - "ConcurrentExecutions" : { - "description" : "The number of server processes that use this configuration to run concurrently on an instance.", + "DesiredEC2Instances" : { + "description" : "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.", "type" : "integer", - "minimum" : 1 + "minimum" : 0 }, - "Parameters" : { - "minLength" : 1, - "description" : "An optional list of parameters to pass to the server executable or Realtime script on launch.", - "type" : "string", - "maxLength" : 1024 + "MinSize" : { + "description" : "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", + "type" : "integer", + "minimum" : 0 }, - "LaunchPath" : { - "minLength" : 1, - "pattern" : "^([Cc]:\\\\game\\S+|/local/game/\\S+)", - "description" : "The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:\n\nWindows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"\n\nLinux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"", - "type" : "string", - "maxLength" : 1024 + "MaxSize" : { + "description" : "The maximum value that is allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", + "type" : "integer", + "minimum" : 0 } }, - "required" : [ "ConcurrentExecutions", "LaunchPath" ] - }, - "TargetConfiguration" : { - "description" : "Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.", "additionalProperties" : false, + "required" : [ "DesiredEC2Instances", "MinSize", "MaxSize" ] + }, + "LocationConfiguration" : { + "description" : "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.", "type" : "object", "properties" : { - "TargetValue" : { - "description" : "Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).", - "type" : "number" + "Location" : { + "$ref" : "#/definitions/Location" + }, + "LocationCapacity" : { + "$ref" : "#/definitions/LocationCapacity" } }, - "required" : [ "TargetValue" ] - }, - "AnywhereConfiguration" : { - "description" : "Configuration for Anywhere fleet.", "additionalProperties" : false, - "properties" : { - "Cost" : { - "minLength" : 1, - "pattern" : "^\\d{1,5}(?:\\.\\d{1,5})?$", - "description" : "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.", - "type" : "string", - "maxLength" : 11 - } - }, - "required" : [ "Cost" ] + "required" : [ "Location" ] }, "ResourceCreationLimitPolicy" : { "description" : "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.", - "additionalProperties" : false, "type" : "object", "properties" : { - "PolicyPeriodInMinutes" : { - "description" : "The time span used in evaluating the resource creation limit policy.", + "NewGameSessionsPerCreator" : { + "description" : "The maximum number of game sessions that an individual can create during the policy period.", "type" : "integer", "minimum" : 0 }, - "NewGameSessionsPerCreator" : { - "description" : "The maximum number of game sessions that an individual can create during the policy period.", + "PolicyPeriodInMinutes" : { + "description" : "The time span used in evaluating the resource creation limit policy.", "type" : "integer", "minimum" : 0 } - } + }, + "additionalProperties" : false }, - "LocationCapacity" : { - "description" : "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.", - "additionalProperties" : false, + "RuntimeConfiguration" : { + "description" : "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.", "type" : "object", "properties" : { - "MinSize" : { - "description" : "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", + "GameSessionActivationTimeoutSeconds" : { + "description" : "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.", "type" : "integer", - "minimum" : 0 + "minimum" : 1, + "maximum" : 600 }, - "DesiredEC2Instances" : { - "description" : "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.", + "MaxConcurrentGameSessionActivations" : { + "description" : "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.", "type" : "integer", - "minimum" : 0 + "minimum" : 1, + "maximum" : 2147483647 }, - "MaxSize" : { - "description" : "The maximum value that is allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", - "type" : "integer", - "minimum" : 0 + "ServerProcesses" : { + "description" : "A collection of server process configurations that describe which server processes to run on each instance in a fleet.", + "type" : "array", + "maxItems" : 50, + "items" : { + "$ref" : "#/definitions/ServerProcess" + }, + "insertionOrder" : false } }, - "required" : [ "DesiredEC2Instances", "MinSize", "MaxSize" ] + "additionalProperties" : false }, - "CertificateConfiguration" : { - "description" : "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.", - "additionalProperties" : false, + "ScalingPolicy" : { + "description" : "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.", "type" : "object", "properties" : { - "CertificateType" : { + "ComparisonOperator" : { + "description" : "Comparison operator to use when measuring a metric against the threshold value.", "type" : "string", - "enum" : [ "DISABLED", "GENERATED" ] - } - }, - "required" : [ "CertificateType" ] - }, - "IpPermission" : { - "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "IpRange" : { - "pattern" : "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)", - "description" : "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".", - "type" : "string" + "enum" : [ "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold" ] }, - "FromPort" : { - "description" : "A starting value for a range of allowed port numbers.", - "maximum" : 60000, + "EvaluationPeriods" : { + "description" : "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.", "type" : "integer", "minimum" : 1 }, - "ToPort" : { - "description" : "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", - "maximum" : 60000, - "type" : "integer", - "minimum" : 1 + "Location" : { + "$ref" : "#/definitions/Location" + }, + "MetricName" : { + "description" : "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.", + "type" : "string", + "enum" : [ "ActivatingGameSessions", "ActiveGameSessions", "ActiveInstances", "AvailableGameSessions", "AvailablePlayerSessions", "CurrentPlayerSessions", "IdleInstances", "PercentAvailableGameSessions", "PercentIdleInstances", "QueueDepth", "WaitTime", "ConcurrentActivatableGameSessions" ] + }, + "Name" : { + "description" : "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 + }, + "PolicyType" : { + "description" : "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.", + "type" : "string", + "enum" : [ "RuleBased", "TargetBased" ] + }, + "ScalingAdjustment" : { + "description" : "Amount of adjustment to make, based on the scaling adjustment type.", + "type" : "integer" + }, + "ScalingAdjustmentType" : { + "description" : "The type of adjustment to make to a fleet's instance count.", + "type" : "string", + "enum" : [ "ChangeInCapacity", "ExactCapacity", "PercentChangeInCapacity" ] + }, + "Status" : { + "description" : "Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.", + "type" : "string", + "enum" : [ "ACTIVE", "UPDATE_REQUESTED", "UPDATING", "DELETE_REQUESTED", "DELETING", "DELETED", "ERROR" ] + }, + "TargetConfiguration" : { + "description" : "An object that contains settings for a target-based scaling policy.", + "$ref" : "#/definitions/TargetConfiguration" + }, + "Threshold" : { + "description" : "Metric value used to trigger a scaling event.", + "type" : "number" }, - "Protocol" : { - "description" : "The network communication protocol used by the fleet.", + "UpdateStatus" : { + "description" : "The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.", "type" : "string", - "enum" : [ "TCP", "UDP" ] + "enum" : [ "PENDING_UPDATE" ] } }, - "required" : [ "FromPort", "IpRange", "Protocol", "ToPort" ] - }, - "RuntimeConfiguration" : { - "description" : "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.", "additionalProperties" : false, + "required" : [ "MetricName", "Name" ] + }, + "ServerProcess" : { + "description" : "A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration.", "type" : "object", "properties" : { - "ServerProcesses" : { - "maxItems" : 50, - "description" : "A collection of server process configurations that describe which server processes to run on each instance in a fleet.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/ServerProcess" - } - }, - "MaxConcurrentGameSessionActivations" : { - "description" : "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.", - "maximum" : 2147483647, + "ConcurrentExecutions" : { + "description" : "The number of server processes that use this configuration to run concurrently on an instance.", "type" : "integer", "minimum" : 1 }, - "GameSessionActivationTimeoutSeconds" : { - "description" : "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.", - "maximum" : 600, - "type" : "integer", - "minimum" : 1 + "LaunchPath" : { + "description" : "The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:\n\nWindows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"\n\nLinux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024, + "pattern" : "^([Cc]:\\\\game\\S+|/local/game/\\S+)" + }, + "Parameters" : { + "description" : "An optional list of parameters to pass to the server executable or Realtime script on launch.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 } - } - }, - "Location" : { - "minLength" : 1, - "pattern" : "^[A-Za-z0-9\\-]+", - "type" : "string", - "maxLength" : 64 - }, - "LocationConfiguration" : { - "description" : "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.", + }, "additionalProperties" : false, + "required" : [ "ConcurrentExecutions", "LaunchPath" ] + }, + "TargetConfiguration" : { + "description" : "Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.", "type" : "object", "properties" : { - "LocationCapacity" : { - "$ref" : "#/definitions/LocationCapacity" - }, - "Location" : { - "$ref" : "#/definitions/Location" + "TargetValue" : { + "description" : "Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).", + "type" : "number" } }, - "required" : [ "Location" ] + "additionalProperties" : false, + "required" : [ "TargetValue" ] } }, "properties" : { "ScalingPolicies" : { - "maxItems" : 50, "description" : "A list of rules that control how a fleet is scaled.", - "insertionOrder" : false, "type" : "array", + "maxItems" : 50, "items" : { "$ref" : "#/definitions/ScalingPolicy" - } + }, + "insertionOrder" : false }, - "Description" : { - "minLength" : 1, - "description" : "A human-readable description of a fleet.", - "type" : "string", - "maxLength" : 1024 + "AnywhereConfiguration" : { + "description" : "Configuration for Anywhere fleet.", + "$ref" : "#/definitions/AnywhereConfiguration" }, - "PeerVpcId" : { - "minLength" : 1, - "pattern" : "^vpc-\\S+", - "description" : "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.", + "ApplyCapacity" : { + "description" : "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", "type" : "string", - "maxLength" : 1024 + "enum" : [ "ON_UPDATE", "ON_CREATE_AND_UPDATE" ] }, - "EC2InboundPermissions" : { - "maxItems" : 50, - "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/IpPermission" - } + "CertificateConfiguration" : { + "description" : "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created.", + "$ref" : "#/definitions/CertificateConfiguration" }, "ComputeType" : { "description" : "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", "type" : "string", "enum" : [ "EC2", "ANYWHERE" ] }, - "Name" : { - "minLength" : 1, - "description" : "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", + "Description" : { + "description" : "A human-readable description of a fleet.", "type" : "string", - "maxLength" : 1024 - }, - "AnywhereConfiguration" : { - "description" : "Configuration for Anywhere fleet.", - "$ref" : "#/definitions/AnywhereConfiguration" - }, - "InstanceRoleARN" : { "minLength" : 1, - "pattern" : "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "description" : "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", - "type" : "string" - }, - "FleetId" : { - "pattern" : "^fleet-\\S+", - "description" : "Unique fleet ID", - "type" : "string" - }, - "CertificateConfiguration" : { - "description" : "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created.", - "$ref" : "#/definitions/CertificateConfiguration" - }, - "InstanceRoleCredentialsProvider" : { - "description" : "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", - "type" : "string", - "enum" : [ "SHARED_CREDENTIAL_FILE" ] + "maxLength" : 1024 }, "DesiredEC2Instances" : { "description" : "[DEPRECATED] The number of EC2 instances that you want this fleet to host. When creating a new fleet, GameLift automatically sets this value to \"1\" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.", "type" : "integer", "minimum" : 0 }, - "ServerLaunchParameters" : { - "minLength" : 1, - "description" : "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.", + "EC2InboundPermissions" : { + "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", + "type" : "array", + "maxItems" : 50, + "items" : { + "$ref" : "#/definitions/IpPermission" + }, + "insertionOrder" : false + }, + "EC2InstanceType" : { + "description" : "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", "type" : "string", - "maxLength" : 1024 + "pattern" : "^.*..*$" }, "FleetType" : { "description" : "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.", "type" : "string", "enum" : [ "ON_DEMAND", "SPOT" ] }, + "InstanceRoleARN" : { + "description" : "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", + "type" : "string", + "minLength" : 1, + "pattern" : "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" + }, + "InstanceRoleCredentialsProvider" : { + "description" : "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "type" : "string", + "enum" : [ "SHARED_CREDENTIAL_FILE" ] + }, "Locations" : { + "type" : "array", "minItems" : 1, "maxItems" : 100, - "insertionOrder" : false, - "type" : "array", "items" : { "$ref" : "#/definitions/LocationConfiguration" - } - }, - "NewGameSessionProtectionPolicy" : { - "description" : "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.", - "type" : "string", - "enum" : [ "FullProtection", "NoProtection" ] + }, + "insertionOrder" : false }, - "ScriptId" : { - "pattern" : "^script-\\S+|^arn:.*:script/script-\\S+", - "description" : "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.", - "type" : "string" + "LogPaths" : { + "description" : "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()", + "type" : "array", + "items" : { + "type" : "string" + }, + "insertionOrder" : false }, "MaxSize" : { "description" : "[DEPRECATED] The maximum value that is allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", "type" : "integer", "minimum" : 0 }, - "RuntimeConfiguration" : { - "description" : "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.", - "$ref" : "#/definitions/RuntimeConfiguration" - }, - "LogPaths" : { - "description" : "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()", - "insertionOrder" : false, + "MetricGroups" : { + "description" : "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.", "type" : "array", + "maxItems" : 1, "items" : { "type" : "string" - } - }, - "ServerLaunchPath" : { - "minLength" : 1, - "description" : "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", - "type" : "string", - "maxLength" : 1024 + }, + "insertionOrder" : false }, "MinSize" : { "description" : "[DEPRECATED] The minimum value allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", "type" : "integer", "minimum" : 0 }, - "PeerVpcAwsAccountId" : { - "minLength" : 1, - "pattern" : "^[0-9]{12}$", - "description" : "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.", + "Name" : { + "description" : "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", "type" : "string", + "minLength" : 1, "maxLength" : 1024 }, - "MetricGroups" : { - "maxItems" : 1, - "description" : "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "type" : "string" - } + "NewGameSessionProtectionPolicy" : { + "description" : "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.", + "type" : "string", + "enum" : [ "FullProtection", "NoProtection" ] }, - "BuildId" : { - "pattern" : "^build-\\S+|^arn:.*:build/build-\\S+", - "description" : "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", - "type" : "string" + "PeerVpcAwsAccountId" : { + "description" : "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024, + "pattern" : "^[0-9]{12}$" + }, + "PeerVpcId" : { + "description" : "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024, + "pattern" : "^vpc-\\S+" }, "ResourceCreationLimitPolicy" : { "description" : "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.", "$ref" : "#/definitions/ResourceCreationLimitPolicy" }, - "EC2InstanceType" : { - "pattern" : "^.*..*$", - "description" : "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", - "type" : "string" + "FleetId" : { + "description" : "Unique fleet ID", + "type" : "string", + "pattern" : "^fleet-\\S+" + }, + "BuildId" : { + "description" : "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", + "type" : "string", + "pattern" : "^build-\\S+|^arn:.*:build/build-\\S+" + }, + "ScriptId" : { + "description" : "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.", + "type" : "string", + "pattern" : "^script-\\S+|^arn:.*:script/script-\\S+" + }, + "RuntimeConfiguration" : { + "description" : "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.", + "$ref" : "#/definitions/RuntimeConfiguration" + }, + "ServerLaunchParameters" : { + "description" : "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 + }, + "ServerLaunchPath" : { + "description" : "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 + } + }, + "required" : [ "Name" ], + "additionalProperties" : false, + "createOnlyProperties" : [ "/properties/ApplyCapacity", "/properties/BuildId", "/properties/CertificateConfiguration", "/properties/EC2InstanceType", "/properties/FleetType", "/properties/InstanceRoleARN", "/properties/InstanceRoleCredentialsProvider", "/properties/LogPaths", "/properties/PeerVpcAwsAccountId", "/properties/PeerVpcId", "/properties/ScriptId", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath", "/properties/CertificateType", "/properties/ComputeType" ], + "deprecatedProperties" : [ "/properties/LogPaths", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath" ], + "readOnlyProperties" : [ "/properties/FleetId" ], + "primaryIdentifier" : [ "/properties/FleetId" ], + "handlers" : { + "create" : { + "permissions" : [ "gamelift:CreateFleet", "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes", "gamelift:UpdateFleetCapacity", "gamelift:DescribeFleetLocationCapacity", "gamelift:PutScalingPolicy", "gamelift:DescribeScalingPolicies" ] + }, + "read" : { + "permissions" : [ "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes", "gamelift:DescribeFleetCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetUtilization", "gamelift:DescribeRuntimeConfiguration", "gamelift:DescribeEC2InstanceLimits", "gamelift:DescribeFleetEvents", "gamelift:DescribeScalingPolicies" ] + }, + "update" : { + "permissions" : [ "gamelift:UpdateFleetAttributes", "gamelift:CreateFleetLocations", "gamelift:DeleteFleetLocations", "gamelift:UpdateFleetCapacity", "gamelift:UpdateFleetPortSettings", "gamelift:UpdateRuntimeConfiguration", "gamelift:DescribeFleetLocationCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetLocationAttributes", "gamelift:PutScalingPolicy", "gamelift:DescribeScalingPolicies", "gamelift:DeleteScalingPolicy" ] + }, + "delete" : { + "permissions" : [ "gamelift:DeleteFleet", "gamelift:DescribeFleetLocationCapacity", "gamelift:DescribeScalingPolicies", "gamelift:DeleteScalingPolicy" ] + }, + "list" : { + "permissions" : [ "gamelift:ListFleets" ] } - } + }, + "taggable" : true } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-identitystore-groupmembership.json b/aws-cloudformation-schema/aws-identitystore-groupmembership.json index b2aa4c9abc..c178adce8f 100644 --- a/aws-cloudformation-schema/aws-identitystore-groupmembership.json +++ b/aws-cloudformation-schema/aws-identitystore-groupmembership.json @@ -55,7 +55,7 @@ }, "required" : [ "IdentityStoreId", "GroupId", "MemberId" ], "readOnlyProperties" : [ "/properties/MembershipId" ], - "createOnlyProperties" : [ "/properties/IdentityStoreId" ], + "createOnlyProperties" : [ "/properties/IdentityStoreId", "/properties/GroupId", "/properties/MemberId" ], "primaryIdentifier" : [ "/properties/MembershipId", "/properties/IdentityStoreId" ], "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-imagebuilder-image.json b/aws-cloudformation-schema/aws-imagebuilder-image.json index 5bbb06779f..ff6b8454e5 100644 --- a/aws-cloudformation-schema/aws-imagebuilder-image.json +++ b/aws-cloudformation-schema/aws-imagebuilder-image.json @@ -31,6 +31,14 @@ "description" : "The Amazon Resource Name (ARN) of the infrastructure configuration.", "type" : "string" }, + "Workflows" : { + "description" : "Workflows to define the image build process", + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/WorkflowConfiguration" + } + }, "ImageId" : { "description" : "The AMI ID of the EC2 AMI in current region.", "type" : "string" @@ -47,6 +55,10 @@ "description" : "Contains settings for vulnerability scans.", "$ref" : "#/definitions/ImageScanningConfiguration" }, + "ExecutionRole" : { + "description" : "The execution role name/ARN for the image build, if provided", + "type" : "string" + }, "Tags" : { "description" : "The tags associated with the image.", "type" : "object", @@ -109,6 +121,55 @@ "type" : "string" } } + }, + "WorkflowConfiguration" : { + "description" : "The workflow configuration of the image", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "WorkflowArn" : { + "description" : "The Amazon Resource Name (ARN) of the workflow", + "type" : "string" + }, + "Parameters" : { + "description" : "The parameters associated with the workflow", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/WorkflowParameter" + } + }, + "ParallelGroup" : { + "description" : "The parallel group name", + "type" : "string" + }, + "OnFailure" : { + "description" : "Define execution decision in case of workflow failure", + "type" : "string", + "enum" : [ "CONTINUE", "ABORT" ] + } + } + }, + "WorkflowParameter" : { + "description" : "A parameter associated with the workflow", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Name" : { + "type" : "string" + }, + "Value" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/WorkflowParameterValue" + } + } + } + }, + "WorkflowParameterValue" : { + "description" : "The value associated with the workflow parameter", + "type" : "string" } }, "additionalProperties" : false, @@ -119,13 +180,13 @@ } ], "primaryIdentifier" : [ "/properties/Arn" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/Name", "/properties/ImageId", "/properties/ImageUri" ], - "createOnlyProperties" : [ "/properties/ImageRecipeArn", "/properties/ContainerRecipeArn", "/properties/InfrastructureConfigurationArn", "/properties/DistributionConfigurationArn", "/properties/ImageTestsConfiguration", "/properties/ImageScanningConfiguration", "/properties/EnhancedImageMetadataEnabled", "/properties/Tags" ], + "createOnlyProperties" : [ "/properties/ImageRecipeArn", "/properties/ContainerRecipeArn", "/properties/InfrastructureConfigurationArn", "/properties/Workflows", "/properties/DistributionConfigurationArn", "/properties/ImageTestsConfiguration", "/properties/ImageScanningConfiguration", "/properties/EnhancedImageMetadataEnabled", "/properties/Tags" ], "tagging" : { "taggable" : false }, "handlers" : { "create" : { - "permissions" : [ "ecr:BatchGetRepositoryScanningConfiguration", "iam:GetRole", "iam:CreateServiceLinkedRole", "imagebuilder:GetImageRecipe", "imagebuilder:GetInfrastructureConfiguration", "imagebuilder:GetDistributionConfiguration", "imagebuilder:GetImage", "imagebuilder:CreateImage", "imagebuilder:TagResource", "inspector2:BatchGetAccountStatus" ], + "permissions" : [ "ecr:BatchGetRepositoryScanningConfiguration", "iam:GetRole", "iam:PassRole", "iam:CreateServiceLinkedRole", "imagebuilder:GetImageRecipe", "imagebuilder:GetInfrastructureConfiguration", "imagebuilder:GetDistributionConfiguration", "imagebuilder:GetWorkflow", "imagebuilder:GetImage", "imagebuilder:CreateImage", "imagebuilder:TagResource", "inspector2:BatchGetAccountStatus" ], "timeoutInMinutes" : 720 }, "read" : { diff --git a/aws-cloudformation-schema/aws-imagebuilder-imagepipeline.json b/aws-cloudformation-schema/aws-imagebuilder-imagepipeline.json index cca806028d..dcc2b4dad1 100644 --- a/aws-cloudformation-schema/aws-imagebuilder-imagepipeline.json +++ b/aws-cloudformation-schema/aws-imagebuilder-imagepipeline.json @@ -44,6 +44,14 @@ "description" : "The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.", "type" : "string" }, + "Workflows" : { + "description" : "Workflows to define the image build process", + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/WorkflowConfiguration" + } + }, "EnhancedImageMetadataEnabled" : { "description" : "Collects additional information about the image being created, including the operating system (OS) version and package list.", "type" : "boolean" @@ -52,6 +60,10 @@ "description" : "Contains settings for vulnerability scans.", "$ref" : "#/definitions/ImageScanningConfiguration" }, + "ExecutionRole" : { + "description" : "The execution role name/ARN for the image build, if provided", + "type" : "string" + }, "Tags" : { "description" : "The tags of this image pipeline.", "type" : "object", @@ -130,6 +142,55 @@ "enum" : [ "EXPRESSION_MATCH_ONLY", "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" ] } } + }, + "WorkflowConfiguration" : { + "description" : "The workflow configuration of the image", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "WorkflowArn" : { + "description" : "The Amazon Resource Name (ARN) of the workflow", + "type" : "string" + }, + "Parameters" : { + "description" : "The parameters associated with the workflow", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/WorkflowParameter" + } + }, + "ParallelGroup" : { + "description" : "The parallel group name", + "type" : "string" + }, + "OnFailure" : { + "description" : "Define execution decision in case of workflow failure", + "type" : "string", + "enum" : [ "CONTINUE", "ABORT" ] + } + } + }, + "WorkflowParameter" : { + "description" : "A parameter associated with the workflow", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Name" : { + "type" : "string" + }, + "Value" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/WorkflowParameterValue" + } + } + } + }, + "WorkflowParameterValue" : { + "description" : "The value associated with the workflow parameter", + "type" : "string" } }, "additionalProperties" : false, @@ -146,10 +207,10 @@ }, "handlers" : { "create" : { - "permissions" : [ "ecr:BatchGetRepositoryScanningConfiguration", "iam:GetRole", "iam:CreateServiceLinkedRole", "imagebuilder:TagResource", "imagebuilder:GetImagePipeline", "imagebuilder:GetImageRecipe", "imagebuilder:GetInfrastructureConfiguration", "imagebuilder:GetDistributionConfiguration", "imagebuilder:CreateImagePipeline", "inspector2:BatchGetAccountStatus" ] + "permissions" : [ "ecr:BatchGetRepositoryScanningConfiguration", "iam:GetRole", "iam:PassRole", "iam:CreateServiceLinkedRole", "imagebuilder:TagResource", "imagebuilder:GetImagePipeline", "imagebuilder:GetImageRecipe", "imagebuilder:GetInfrastructureConfiguration", "imagebuilder:GetDistributionConfiguration", "imagebuilder:CreateImagePipeline", "imagebuilder:GetWorkflow", "inspector2:BatchGetAccountStatus" ] }, "update" : { - "permissions" : [ "imagebuilder:GetImagePipeline", "imagebuilder:UpdateImagePipeline" ] + "permissions" : [ "iam:PassRole", "imagebuilder:GetImagePipeline", "imagebuilder:UpdateImagePipeline", "imagebuilder:GetWorkflow" ] }, "read" : { "permissions" : [ "imagebuilder:GetImagePipeline" ] diff --git a/aws-cloudformation-schema/aws-imagebuilder-workflow.json b/aws-cloudformation-schema/aws-imagebuilder-workflow.json new file mode 100644 index 0000000000..ce8f67f965 --- /dev/null +++ b/aws-cloudformation-schema/aws-imagebuilder-workflow.json @@ -0,0 +1,92 @@ +{ + "typeName" : "AWS::ImageBuilder::Workflow", + "description" : "Resource schema for AWS::ImageBuilder::Workflow", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-imagebuilder", + "properties" : { + "Arn" : { + "description" : "The Amazon Resource Name (ARN) of the workflow.", + "type" : "string" + }, + "Name" : { + "description" : "The name of the workflow.", + "type" : "string" + }, + "Version" : { + "description" : "The version of the workflow.", + "type" : "string" + }, + "Description" : { + "description" : "The description of the workflow.", + "type" : "string" + }, + "ChangeDescription" : { + "description" : "The change description of the workflow.", + "type" : "string" + }, + "Type" : { + "description" : "The type of the workflow denotes whether the workflow is used to build, test, or distribute.", + "type" : "string", + "enum" : [ "BUILD", "TEST", "DISTRIBUTION" ] + }, + "Data" : { + "description" : "The data of the workflow.", + "type" : "string", + "minLength" : 1, + "maxLength" : 16000 + }, + "Uri" : { + "description" : "The uri of the workflow.", + "type" : "string" + }, + "KmsKeyId" : { + "description" : "The KMS key identifier used to encrypt the workflow.", + "type" : "string" + }, + "Tags" : { + "description" : "The tags associated with the workflow.", + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + ".{1,}" : { + "type" : "string" + } + } + } + }, + "additionalProperties" : false, + "required" : [ "Name", "Type", "Version" ], + "oneOf" : [ { + "required" : [ "Data" ] + }, { + "required" : [ "Uri" ] + } ], + "primaryIdentifier" : [ "/properties/Arn" ], + "readOnlyProperties" : [ "/properties/Arn" ], + "writeOnlyProperties" : [ "/properties/Data", "/properties/Uri" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/Version", "/properties/ChangeDescription", "/properties/Description", "/properties/Data", "/properties/Uri", "/properties/Type", "/properties/KmsKeyId", "/properties/Tags" ], + "tagging" : { + "taggable" : false + }, + "handlers" : { + "create" : { + "permissions" : [ "iam:GetRole", "kms:GenerateDataKey*", "kms:Encrypt", "kms:Decrypt", "s3:GetObject", "s3:HeadBucket", "s3:GetBucketLocation", "imagebuilder:TagResource", "imagebuilder:GetWorkflow", "imagebuilder:CreateWorkflow" ] + }, + "read" : { + "permissions" : [ "imagebuilder:GetWorkflow" ] + }, + "delete" : { + "permissions" : [ "imagebuilder:GetWorkflow", "imagebuilder:UnTagResource", "imagebuilder:DeleteWorkflow" ] + }, + "list" : { + "permissions" : [ "imagebuilder:ListWorkflows" ], + "handlerSchema" : { + "properties" : { + "Arn" : { + "$ref" : "resource-schema.json#/properties/Arn" + } + }, + "required" : [ "Arn" ] + } + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iot-certificateprovider.json b/aws-cloudformation-schema/aws-iot-certificateprovider.json new file mode 100644 index 0000000000..f0f2c4e554 --- /dev/null +++ b/aws-cloudformation-schema/aws-iot-certificateprovider.json @@ -0,0 +1,96 @@ +{ + "typeName" : "AWS::IoT::CertificateProvider", + "description" : "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 127 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" : 127 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 1 to 255 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" : 255 + } + }, + "required" : [ "Value", "Key" ] + }, + "CertificateProviderOperation" : { + "type" : "string", + "enum" : [ "CreateCertificateFromCsr" ] + } + }, + "properties" : { + "CertificateProviderName" : { + "type" : "string", + "pattern" : "[\\w=,@-]+", + "minLength" : 1, + "maxLength" : 128 + }, + "LambdaFunctionArn" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 170 + }, + "AccountDefaultForOperations" : { + "type" : "array", + "minItems" : 1, + "maxItems" : 1, + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/CertificateProviderOperation" + } + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "maxItems" : 50, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Tag" + } + }, + "Arn" : { + "type" : "string" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, + "replacementStrategy" : "delete_then_create", + "additionalProperties" : false, + "required" : [ "LambdaFunctionArn", "AccountDefaultForOperations" ], + "readOnlyProperties" : [ "/properties/Arn" ], + "createOnlyProperties" : [ "/properties/CertificateProviderName" ], + "primaryIdentifier" : [ "/properties/CertificateProviderName" ], + "handlers" : { + "create" : { + "permissions" : [ "iot:CreateCertificateProvider", "iot:DescribeCertificateProvider", "iot:TagResource", "iot:ListTagsForResource" ] + }, + "read" : { + "permissions" : [ "iot:DescribeCertificateProvider", "iot:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "iot:UpdateCertificateProvider", "iot:DescribeCertificateProvider", "iot:TagResource", "iot:UntagResource", "iot:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "iot:DeleteCertificateProvider", "iot:DescribeCertificateProvider" ] + }, + "list" : { + "permissions" : [ "iot:ListCertificateProviders" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-kinesisfirehose-deliverystream.json b/aws-cloudformation-schema/aws-kinesisfirehose-deliverystream.json index 0498b9331f..931acdf123 100644 --- a/aws-cloudformation-schema/aws-kinesisfirehose-deliverystream.json +++ b/aws-cloudformation-schema/aws-kinesisfirehose-deliverystream.json @@ -802,7 +802,7 @@ }, "Type" : { "type" : "string", - "enum" : [ "RecordDeAggregation", "Lambda", "MetadataExtraction", "AppendDelimiterToRecord" ] + "enum" : [ "RecordDeAggregation", "Decompression", "Lambda", "MetadataExtraction", "AppendDelimiterToRecord" ] } }, "required" : [ "Type" ] 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-logs-querydefinition.json b/aws-cloudformation-schema/aws-logs-querydefinition.json index 1d3bb5dcf3..c03b5971a5 100644 --- a/aws-cloudformation-schema/aws-logs-querydefinition.json +++ b/aws-cloudformation-schema/aws-logs-querydefinition.json @@ -45,19 +45,19 @@ "primaryIdentifier" : [ "/properties/QueryDefinitionId" ], "handlers" : { "create" : { - "permissions" : [ "logs:PutQueryDefinition", "logs:DescribeQueryDefinition" ] + "permissions" : [ "logs:PutQueryDefinition" ] }, "read" : { - "permissions" : [ "logs:DescribeQueryDefinition" ] + "permissions" : [ "logs:DescribeQueryDefinitions" ] }, "update" : { - "permissions" : [ "logs:PutQueryDefinition", "logs:DescribeQueryDefinition", "logs:DeleteQueryDefinition" ] + "permissions" : [ "logs:PutQueryDefinition" ] }, "delete" : { - "permissions" : [ "logs:DescribeQueryDefinition", "logs:DeleteQueryDefinition" ] + "permissions" : [ "logs:DeleteQueryDefinition" ] }, "list" : { - "permissions" : [ "logs:DescribeQueryDefinition" ] + "permissions" : [ "logs:DescribeQueryDefinitions" ] } }, "taggable" : false diff --git a/aws-cloudformation-schema/aws-logs-subscriptionfilter.json b/aws-cloudformation-schema/aws-logs-subscriptionfilter.json index 52f645771e..ec4b705f8e 100644 --- a/aws-cloudformation-schema/aws-logs-subscriptionfilter.json +++ b/aws-cloudformation-schema/aws-logs-subscriptionfilter.json @@ -45,7 +45,7 @@ "permissions" : [ "logs:DescribeSubscriptionFilters" ] }, "update" : { - "permissions" : [ "logs:PutSubscriptionFilter", "logs:DescribeSubscriptionFilters" ] + "permissions" : [ "iam:PassRole", "logs:PutSubscriptionFilter", "logs:DescribeSubscriptionFilters" ] }, "delete" : { "permissions" : [ "logs:DeleteSubscriptionFilter" ] 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-rds-dbcluster.json b/aws-cloudformation-schema/aws-rds-dbcluster.json index 696550dc95..f0c2fcb8ad 100644 --- a/aws-cloudformation-schema/aws-rds-dbcluster.json +++ b/aws-cloudformation-schema/aws-rds-dbcluster.json @@ -432,7 +432,7 @@ "timeoutInMinutes" : 2160 }, "delete" : { - "permissions" : [ "rds:DeleteDBCluster", "rds:DeleteDBInstance", "rds:DescribeDBClusters", "rds:DescribeGlobalClusters", "rds:RemoveFromGlobalCluster" ] + "permissions" : [ "rds:CreateDBClusterSnapshot", "rds:DeleteDBCluster", "rds:DeleteDBInstance", "rds:DescribeDBClusters", "rds:DescribeGlobalClusters", "rds:RemoveFromGlobalCluster" ] }, "list" : { "permissions" : [ "rds:DescribeDBClusters" ] diff --git a/aws-cloudformation-schema/aws-rds-dbinstance.json b/aws-cloudformation-schema/aws-rds-dbinstance.json index 097f1a6e53..bf79dc3422 100644 --- a/aws-cloudformation-schema/aws-rds-dbinstance.json +++ b/aws-cloudformation-schema/aws-rds-dbinstance.json @@ -498,7 +498,7 @@ "timeoutInMinutes" : 2160 }, "delete" : { - "permissions" : [ "rds:DeleteDBInstance", "rds:DescribeDBInstances" ], + "permissions" : [ "rds:CreateDBSnapshot", "rds:DeleteDBInstance", "rds:DescribeDBInstances" ], "timeoutInMinutes" : 2160 }, "list" : { diff --git a/aws-cloudformation-schema/aws-resourceexplorer2-index.json b/aws-cloudformation-schema/aws-resourceexplorer2-index.json index fa0fc4b9b6..018ca68ec3 100644 --- a/aws-cloudformation-schema/aws-resourceexplorer2-index.json +++ b/aws-cloudformation-schema/aws-resourceexplorer2-index.json @@ -39,7 +39,7 @@ "primaryIdentifier" : [ "/properties/Arn" ], "handlers" : { "create" : { - "permissions" : [ "resource-explorer-2:CreateIndex", "resource-explorer-2:GetIndex", "resource-explorer-2:TagResource", "resource-explorer-2:UpdateIndexType", "resource-explorer-2:DeleteIndex" ] + "permissions" : [ "resource-explorer-2:CreateIndex", "resource-explorer-2:GetIndex", "resource-explorer-2:TagResource", "resource-explorer-2:UpdateIndexType", "resource-explorer-2:DeleteIndex", "iam:CreateServiceLinkedRole" ] }, "update" : { "permissions" : [ "resource-explorer-2:GetIndex", "resource-explorer-2:UpdateIndexType", "resource-explorer-2:TagResource", "resource-explorer-2:UntagResource", "resource-explorer-2:ListTagsForResource" ] 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..ceb1da58ed 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 - } - } - }, - "required" : [ "Role", "Rules" ] - }, - "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" ] - }, - "ReplicationTime" : { - "$ref" : "#/definitions/ReplicationTime" + "$ref" : "#/definitions/ServerSideEncryptionRule" + } } }, - "required" : [ "Bucket" ] + "required" : [ "ServerSideEncryptionConfiguration" ] }, - "OwnershipControlsRule" : { - "additionalProperties" : false, + "ServerSideEncryptionRule" : { + "description" : "Specifies the default server-side encryption configuration.", "type" : "object", + "additionalProperties" : false, "properties" : { - "ObjectOwnership" : { - "description" : "Specifies an object ownership rule.", - "type" : "string", - "enum" : [ "ObjectWriter", "BucketOwnerPreferred", "BucketOwnerEnforced" ] + "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" } } }, - "EventBridgeConfiguration" : { - "description" : "Describes the Amazon EventBridge notification configuration for an Amazon S3 bucket.", + "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" : { + "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" : [ "aws:kms", "AES256", "aws:kms:dsse" ] + } + }, "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", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner" ] } }, - "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" ] + "const" : "Enabled" }, - "HostName" : { - "description" : "The host name to use in the redirect request.", - "type" : "string" - }, - "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-securityhub-hub.json b/aws-cloudformation-schema/aws-securityhub-hub.json index 144b8f4b02..7dfa09c524 100644 --- a/aws-cloudformation-schema/aws-securityhub-hub.json +++ b/aws-cloudformation-schema/aws-securityhub-hub.json @@ -1,24 +1,75 @@ { "typeName" : "AWS::SecurityHub::Hub", - "description" : "Resource Type definition for AWS::SecurityHub::Hub", - "additionalProperties" : false, + "description" : "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-securityhub", + "definitions" : { + "Tags" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + "^[a-zA-Z0-9-_]{1,128}$" : { + "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 + } + } + } + }, "properties" : { - "ControlFindingGenerator" : { - "type" : "string" + "ARN" : { + "description" : "An ARN is automatically created for the customer.", + "type" : "string", + "pattern" : "^arn:.*" }, "EnableDefaultStandards" : { + "description" : "Whether to enable the security standards that Security Hub has designated as automatically enabled.", "type" : "boolean" }, + "ControlFindingGenerator" : { + "description" : "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards.", + "type" : "string", + "pattern" : "^(SECURITY_CONTROL|STANDARD_CONTROL)$" + }, "AutoEnableControls" : { + "description" : "Whether to automatically enable new controls when they are added to standards that are enabled", "type" : "boolean" }, - "Id" : { - "type" : "string" - }, "Tags" : { - "type" : "object" + "$ref" : "#/definitions/Tags" + }, + "SubscribedAt" : { + "description" : "The date and time when Security Hub was enabled in the account.", + "type" : "string" } }, - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/ARN" ], + "readOnlyProperties" : [ "/properties/ARN", "/properties/SubscribedAt" ], + "writeOnlyProperties" : [ "/properties/EnableDefaultStandards" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "securityhub:EnableSecurityHub", "securityhub:UpdateSecurityHubConfiguration", "securityhub:TagResource", "securityhub:ListTagsForResource" ] + }, + "read" : { + "permissions" : [ "securityhub:DescribeHub", "securityhub:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "securityhub:DescribeHub", "securityhub:UpdateSecurityHubConfiguration", "securityhub:TagResource", "securityhub:UntagResource", "securityhub:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "securityhub:DisableSecurityHub" ] + }, + "list" : { + "permissions" : [ "securityhub:DescribeHub", "securityhub:ListTagsForResource" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-servicecatalogappregistry-application.json b/aws-cloudformation-schema/aws-servicecatalogappregistry-application.json index e2a78c1d9e..814df6dce9 100644 --- a/aws-cloudformation-schema/aws-servicecatalogappregistry-application.json +++ b/aws-cloudformation-schema/aws-servicecatalogappregistry-application.json @@ -39,11 +39,30 @@ }, "Tags" : { "$ref" : "#/definitions/Tags" + }, + "ApplicationTagKey" : { + "type" : "string", + "description" : "The key of the AWS application tag, which is awsApplication. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value.", + "maxLength" : 128, + "pattern" : "\\w+" + }, + "ApplicationTagValue" : { + "type" : "string", + "description" : "The value of the AWS application tag, which is the identifier of an associated resource. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value. ", + "maxLength" : 256, + "pattern" : "\\[a-zA-Z0-9_-:/]+" + }, + "ApplicationName" : { + "type" : "string", + "description" : "The name of the application. ", + "minLength" : 1, + "maxLength" : 256, + "pattern" : "\\w+" } }, "additionalProperties" : false, "required" : [ "Name" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/ApplicationName", "/properties/ApplicationTagKey", "/properties/ApplicationTagValue" ], "primaryIdentifier" : [ "/properties/Id" ], "additionalIdentifiers" : [ [ "/properties/Name" ] ], "tagging" : { 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-schema/aws-ssm-association.json b/aws-cloudformation-schema/aws-ssm-association.json index d5788840fd..d97ec7da0c 100644 --- a/aws-cloudformation-schema/aws-ssm-association.json +++ b/aws-cloudformation-schema/aws-ssm-association.json @@ -171,19 +171,20 @@ }, "required" : [ "Name" ], "readOnlyProperties" : [ "/properties/AssociationId" ], + "writeOnlyProperties" : [ "/properties/WaitForSuccessTimeoutSeconds" ], "primaryIdentifier" : [ "/properties/AssociationId" ], "tagging" : { "taggable" : false }, "handlers" : { "create" : { - "permissions" : [ "ec2:DescribeInstanceStatus", "iam:PassRole", "ssm:CreateAssociation", "ssm:DescribeAssociation" ] + "permissions" : [ "ec2:DescribeInstanceStatus", "iam:PassRole", "iam:CreateServiceLinkedRole", "ssm:CreateAssociation", "ssm:DescribeAssociation", "ssm:GetCalendarState" ] }, "delete" : { "permissions" : [ "ssm:DeleteAssociation" ] }, "update" : { - "permissions" : [ "iam:PassRole", "ssm:UpdateAssociation" ] + "permissions" : [ "iam:PassRole", "ssm:UpdateAssociation", "ssm:GetCalendarState" ] }, "read" : { "permissions" : [ "ssm:DescribeAssociation", "resource-groups:GetGroupQuery", "resource-groups:ListGroups", "resource-groups:ListGroupResources" ] 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..c4d793aa3b 100644 --- a/provider/cmd/cf2pulumi/schema-full.json +++ b/provider/cmd/cf2pulumi/schema-full.json @@ -40,6 +40,7 @@ "autoscaling": "AutoScaling", "autoscalingplans": "AutoScalingPlans", "aws-native": "AwsNative", + "b2bi": "B2bi", "backup": "Backup", "backupgateway": "BackupGateway", "batch": "Batch", @@ -478,7 +479,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 +11676,11 @@ "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupVCpuCountRequest" } }, - "type": "object" + "type": "object", + "required": [ + "memoryMiB", + "vCpuCount" + ] }, "aws-native:autoscaling:AutoScalingGroupInstancesDistribution": { "properties": { @@ -12511,6 +12516,480 @@ "targetValue" ] }, + "aws-native:b2bi:CapabilityConfiguration0Properties": { + "properties": { + "edi": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiConfiguration" + } + }, + "type": "object", + "required": [ + "edi" + ] + }, + "aws-native:b2bi:CapabilityConfigurationProperties": { + "properties": { + "edi": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiConfiguration" + } + }, + "type": "object", + "required": [ + "edi" + ] + }, + "aws-native:b2bi:CapabilityEdiConfiguration": { + "properties": { + "inputLocation": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + }, + "outputLocation": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + }, + "transformerId": { + "type": "string" + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiTypeProperties" + } + }, + "type": "object", + "required": [ + "inputLocation", + "outputLocation", + "transformerId", + "type" + ] + }, + "aws-native:b2bi:CapabilityEdiType0Properties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:CapabilityEdiTypeProperties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:CapabilityS3Location": { + "properties": { + "bucketName": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:b2bi:CapabilityTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:CapabilityType": { + "type": "string", + "enum": [ + { + "name": "Edi", + "value": "edi" + } + ] + }, + "aws-native:b2bi:CapabilityX12Details": { + "properties": { + "transactionSet": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12TransactionSet" + }, + "version": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Version" + } + }, + "type": "object" + }, + "aws-native:b2bi:CapabilityX12TransactionSet": { + "type": "string", + "enum": [ + { + "name": "X12110", + "value": "X12_110" + }, + { + "name": "X12180", + "value": "X12_180" + }, + { + "name": "X12204", + "value": "X12_204" + }, + { + "name": "X12210", + "value": "X12_210" + }, + { + "name": "X12214", + "value": "X12_214" + }, + { + "name": "X12215", + "value": "X12_215" + }, + { + "name": "X12310", + "value": "X12_310" + }, + { + "name": "X12315", + "value": "X12_315" + }, + { + "name": "X12322", + "value": "X12_322" + }, + { + "name": "X12404", + "value": "X12_404" + }, + { + "name": "X12410", + "value": "X12_410" + }, + { + "name": "X12820", + "value": "X12_820" + }, + { + "name": "X12824", + "value": "X12_824" + }, + { + "name": "X12830", + "value": "X12_830" + }, + { + "name": "X12846", + "value": "X12_846" + }, + { + "name": "X12850", + "value": "X12_850" + }, + { + "name": "X12852", + "value": "X12_852" + }, + { + "name": "X12855", + "value": "X12_855" + }, + { + "name": "X12856", + "value": "X12_856" + }, + { + "name": "X12860", + "value": "X12_860" + }, + { + "name": "X12861", + "value": "X12_861" + }, + { + "name": "X12864", + "value": "X12_864" + }, + { + "name": "X12940", + "value": "X12_940" + }, + { + "name": "X12990", + "value": "X12_990" + }, + { + "name": "X12997", + "value": "X12_997" + } + ] + }, + "aws-native:b2bi:CapabilityX12Version": { + "type": "string", + "enum": [ + { + "name": "Version4010", + "value": "VERSION_4010" + }, + { + "name": "Version4030", + "value": "VERSION_4030" + }, + { + "name": "Version5010", + "value": "VERSION_5010" + } + ] + }, + "aws-native:b2bi:PartnershipTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:ProfileLogging": { + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, + "aws-native:b2bi:ProfileTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:TransformerEdiType0Properties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:TransformerEdiTypeProperties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:TransformerFileFormat": { + "type": "string", + "enum": [ + { + "name": "Xml", + "value": "XML" + }, + { + "name": "Json", + "value": "JSON" + } + ] + }, + "aws-native:b2bi:TransformerStatus": { + "type": "string", + "enum": [ + { + "name": "Active", + "value": "active" + }, + { + "name": "Inactive", + "value": "inactive" + } + ] + }, + "aws-native:b2bi:TransformerTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:TransformerX12Details": { + "properties": { + "transactionSet": { + "$ref": "#/types/aws-native:b2bi:TransformerX12TransactionSet" + }, + "version": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Version" + } + }, + "type": "object" + }, + "aws-native:b2bi:TransformerX12TransactionSet": { + "type": "string", + "enum": [ + { + "name": "X12110", + "value": "X12_110" + }, + { + "name": "X12180", + "value": "X12_180" + }, + { + "name": "X12204", + "value": "X12_204" + }, + { + "name": "X12210", + "value": "X12_210" + }, + { + "name": "X12214", + "value": "X12_214" + }, + { + "name": "X12215", + "value": "X12_215" + }, + { + "name": "X12310", + "value": "X12_310" + }, + { + "name": "X12315", + "value": "X12_315" + }, + { + "name": "X12322", + "value": "X12_322" + }, + { + "name": "X12404", + "value": "X12_404" + }, + { + "name": "X12410", + "value": "X12_410" + }, + { + "name": "X12820", + "value": "X12_820" + }, + { + "name": "X12824", + "value": "X12_824" + }, + { + "name": "X12830", + "value": "X12_830" + }, + { + "name": "X12846", + "value": "X12_846" + }, + { + "name": "X12850", + "value": "X12_850" + }, + { + "name": "X12852", + "value": "X12_852" + }, + { + "name": "X12855", + "value": "X12_855" + }, + { + "name": "X12856", + "value": "X12_856" + }, + { + "name": "X12860", + "value": "X12_860" + }, + { + "name": "X12861", + "value": "X12_861" + }, + { + "name": "X12864", + "value": "X12_864" + }, + { + "name": "X12940", + "value": "X12_940" + }, + { + "name": "X12990", + "value": "X12_990" + }, + { + "name": "X12997", + "value": "X12_997" + } + ] + }, + "aws-native:b2bi:TransformerX12Version": { + "type": "string", + "enum": [ + { + "name": "Version4010", + "value": "VERSION_4010" + }, + { + "name": "Version4030", + "value": "VERSION_4030" + }, + { + "name": "Version5010", + "value": "VERSION_5010" + } + ] + }, "aws-native:backup:BackupPlanAdvancedBackupSettingResourceType": { "properties": { "backupOptions": { @@ -13167,17 +13646,6 @@ }, "type": "object" }, - "aws-native:batch:JobDefinitionAuthorizationConfig": { - "properties": { - "accessPointId": { - "type": "string" - }, - "iam": { - "type": "string" - } - }, - "type": "object" - }, "aws-native:batch:JobDefinitionContainerProperties": { "properties": { "command": { @@ -13193,13 +13661,13 @@ } }, "ephemeralStorage": { - "$ref": "#/types/aws-native:batch:JobDefinitionEphemeralStorage" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesEphemeralStorageProperties" }, "executionRoleArn": { "type": "string" }, "fargatePlatformConfiguration": { - "$ref": "#/types/aws-native:batch:JobDefinitionFargatePlatformConfiguration" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesFargatePlatformConfigurationProperties" }, "image": { "type": "string" @@ -13211,10 +13679,10 @@ "type": "string" }, "linuxParameters": { - "$ref": "#/types/aws-native:batch:JobDefinitionLinuxParameters" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesLinuxParametersProperties" }, "logConfiguration": { - "$ref": "#/types/aws-native:batch:JobDefinitionLogConfiguration" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesLogConfigurationProperties" }, "memory": { "type": "integer" @@ -13222,11 +13690,11 @@ "mountPoints": { "type": "array", "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionMountPoints" + "$ref": "#/types/aws-native:batch:JobDefinitionMountPoint" } }, "networkConfiguration": { - "$ref": "#/types/aws-native:batch:JobDefinitionNetworkConfiguration" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesNetworkConfigurationProperties" }, "privileged": { "type": "boolean" @@ -13241,7 +13709,7 @@ } }, "runtimePlatform": { - "$ref": "#/types/aws-native:batch:JobDefinitionRuntimePlatform" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesRuntimePlatformProperties" }, "secrets": { "type": "array", @@ -13264,7 +13732,7 @@ "volumes": { "type": "array", "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionVolumes" + "$ref": "#/types/aws-native:batch:JobDefinitionVolume" } } }, @@ -13273,6 +13741,93 @@ "image" ] }, + "aws-native:batch:JobDefinitionContainerPropertiesEphemeralStorageProperties": { + "properties": { + "sizeInGiB": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "sizeInGiB" + ] + }, + "aws-native:batch:JobDefinitionContainerPropertiesFargatePlatformConfigurationProperties": { + "properties": { + "platformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionContainerPropertiesLinuxParametersProperties": { + "properties": { + "devices": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionDevice" + } + }, + "initProcessEnabled": { + "type": "boolean" + }, + "maxSwap": { + "type": "integer" + }, + "sharedMemorySize": { + "type": "integer" + }, + "swappiness": { + "type": "integer" + }, + "tmpfs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionTmpfs" + } + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionContainerPropertiesLogConfigurationProperties": { + "properties": { + "logDriver": { + "type": "string" + }, + "options": { + "$ref": "pulumi.json#/Any" + }, + "secretOptions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionSecret" + } + } + }, + "type": "object", + "required": [ + "logDriver" + ] + }, + "aws-native:batch:JobDefinitionContainerPropertiesNetworkConfigurationProperties": { + "properties": { + "assignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionContainerPropertiesRuntimePlatformProperties": { + "properties": { + "cpuArchitecture": { + "type": "string" + }, + "operatingSystemFamily": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:batch:JobDefinitionDevice": { "properties": { "containerPath": { @@ -13290,10 +13845,21 @@ }, "type": "object" }, + "aws-native:batch:JobDefinitionEfsAuthorizationConfig": { + "properties": { + "accessPointId": { + "type": "string" + }, + "iam": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:batch:JobDefinitionEfsVolumeConfiguration": { "properties": { "authorizationConfig": { - "$ref": "#/types/aws-native:batch:JobDefinitionAuthorizationConfig" + "$ref": "#/types/aws-native:batch:JobDefinitionEfsAuthorizationConfig" }, "fileSystemId": { "type": "string" @@ -13438,10 +14004,47 @@ }, "type": "object" }, + "aws-native:batch:JobDefinitionEksMetadata": { + "properties": { + "labels": { + "$ref": "pulumi.json#/Any" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksPodProperties": { + "properties": { + "containers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainer" + } + }, + "dnsPolicy": { + "type": "string" + }, + "hostNetwork": { + "type": "boolean" + }, + "metadata": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksMetadata" + }, + "serviceAccountName": { + "type": "string" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksVolume" + } + } + }, + "type": "object" + }, "aws-native:batch:JobDefinitionEksProperties": { "properties": { "podProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionPodProperties" + "$ref": "#/types/aws-native:batch:JobDefinitionEksPodProperties" } }, "type": "object" @@ -13491,17 +14094,6 @@ }, "type": "object" }, - "aws-native:batch:JobDefinitionEphemeralStorage": { - "properties": { - "sizeInGiB": { - "type": "integer" - } - }, - "type": "object", - "required": [ - "sizeInGiB" - ] - }, "aws-native:batch:JobDefinitionEvaluateOnExit": { "properties": { "action": { @@ -13522,72 +14114,23 @@ "action" ] }, - "aws-native:batch:JobDefinitionFargatePlatformConfiguration": { + "aws-native:batch:JobDefinitionHost": { "properties": { - "platformVersion": { + "sourcePath": { "type": "string" } }, "type": "object" }, - "aws-native:batch:JobDefinitionLinuxParameters": { + "aws-native:batch:JobDefinitionJobTimeout": { "properties": { - "devices": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionDevice" - } - }, - "initProcessEnabled": { - "type": "boolean" - }, - "maxSwap": { - "type": "integer" - }, - "sharedMemorySize": { - "type": "integer" - }, - "swappiness": { + "attemptDurationSeconds": { "type": "integer" - }, - "tmpfs": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionTmpfs" - } - } - }, - "type": "object" - }, - "aws-native:batch:JobDefinitionLogConfiguration": { - "properties": { - "logDriver": { - "type": "string" - }, - "options": { - "$ref": "pulumi.json#/Any" - }, - "secretOptions": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionSecret" - } - } - }, - "type": "object", - "required": [ - "logDriver" - ] - }, - "aws-native:batch:JobDefinitionMetadata": { - "properties": { - "labels": { - "$ref": "pulumi.json#/Any" } }, "type": "object" }, - "aws-native:batch:JobDefinitionMountPoints": { + "aws-native:batch:JobDefinitionMountPoint": { "properties": { "containerPath": { "type": "string" @@ -13601,14 +14144,6 @@ }, "type": "object" }, - "aws-native:batch:JobDefinitionNetworkConfiguration": { - "properties": { - "assignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, "aws-native:batch:JobDefinitionNodeProperties": { "properties": { "mainNode": { @@ -13645,35 +14180,6 @@ "targetNodes" ] }, - "aws-native:batch:JobDefinitionPodProperties": { - "properties": { - "containers": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionEksContainer" - } - }, - "dnsPolicy": { - "type": "string" - }, - "hostNetwork": { - "type": "boolean" - }, - "metadata": { - "$ref": "#/types/aws-native:batch:JobDefinitionMetadata" - }, - "serviceAccountName": { - "type": "string" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:batch:JobDefinitionEksVolume" - } - } - }, - "type": "object" - }, "aws-native:batch:JobDefinitionResourceRequirement": { "properties": { "type": { @@ -13699,17 +14205,6 @@ }, "type": "object" }, - "aws-native:batch:JobDefinitionRuntimePlatform": { - "properties": { - "cpuArchitecture": { - "type": "string" - }, - "operatingSystemFamily": { - "type": "string" - } - }, - "type": "object" - }, "aws-native:batch:JobDefinitionSecret": { "properties": { "name": { @@ -13725,14 +14220,6 @@ "valueFrom" ] }, - "aws-native:batch:JobDefinitionTimeout": { - "properties": { - "attemptDurationSeconds": { - "type": "integer" - } - }, - "type": "object" - }, "aws-native:batch:JobDefinitionTmpfs": { "properties": { "containerPath": { @@ -13773,13 +14260,13 @@ "softLimit" ] }, - "aws-native:batch:JobDefinitionVolumes": { + "aws-native:batch:JobDefinitionVolume": { "properties": { "efsVolumeConfiguration": { "$ref": "#/types/aws-native:batch:JobDefinitionEfsVolumeConfiguration" }, "host": { - "$ref": "#/types/aws-native:batch:JobDefinitionVolumesHost" + "$ref": "#/types/aws-native:batch:JobDefinitionHost" }, "name": { "type": "string" @@ -13787,14 +14274,6 @@ }, "type": "object" }, - "aws-native:batch:JobDefinitionVolumesHost": { - "properties": { - "sourcePath": { - "type": "string" - } - }, - "type": "object" - }, "aws-native:batch:JobQueueComputeEnvironmentOrder": { "properties": { "computeEnvironment": { @@ -15146,6 +15625,9 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" } }, "type": "object", @@ -15155,6 +15637,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 +16086,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 +16140,17 @@ "resultFormat" ] }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string", "enum": [ @@ -17225,6 +17751,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 +19585,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 +19647,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 +20337,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 +20455,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 +23392,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 +24486,7 @@ }, "type": "object", "required": [ + "encryptionConfig", "prefix", "retentionPeriodHours" ] @@ -23849,6 +24531,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 +24560,10 @@ { "name": "LambdaFunction", "value": "LAMBDA_FUNCTION" + }, + { + "name": "Application", + "value": "APPLICATION" } ] }, @@ -24199,6 +24903,18 @@ "$ref": "#/types/aws-native:connect:RuleAssignContactCategoryAction" } }, + "createCaseActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleCreateCaseAction" + } + }, + "endAssociatedTaskActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleEndAssociatedTasksAction" + } + }, "eventBridgeActions": { "type": "array", "items": { @@ -24216,6 +24932,12 @@ "items": { "$ref": "#/types/aws-native:connect:RuleTaskAction" } + }, + "updateCaseActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleUpdateCaseAction" + } } }, "type": "object" @@ -24224,6 +24946,30 @@ "description": "The definition for assigning contact category action.", "type": "object" }, + "aws-native:connect:RuleCreateCaseAction": { + "description": "The definition for create case action.", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleField" + } + }, + "templateId": { + "type": "string", + "description": "The Id of template." + } + }, + "type": "object", + "required": [ + "fields", + "templateId" + ] + }, + "aws-native:connect:RuleEndAssociatedTasksAction": { + "description": "The definition for ending associated task action.", + "type": "object" + }, "aws-native:connect:RuleEventBridgeAction": { "description": "The definition for event bridge action.", "properties": { @@ -24237,6 +24983,41 @@ "name" ] }, + "aws-native:connect:RuleField": { + "description": "The field of the case.", + "properties": { + "id": { + "type": "string", + "description": "The Id of the field" + }, + "value": { + "$ref": "#/types/aws-native:connect:RuleFieldValue" + } + }, + "type": "object", + "required": [ + "id", + "value" + ] + }, + "aws-native:connect:RuleFieldValue": { + "description": "The value of the field.", + "properties": { + "booleanValue": { + "type": "boolean" + }, + "doubleValue": { + "type": "number" + }, + "emptyValue": { + "$ref": "pulumi.json#/Any" + }, + "stringValue": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:connect:RuleNotificationRecipientType": { "description": "The type of notification recipient.", "properties": { @@ -24419,7 +25200,30 @@ { "name": "OnMetricDataUpdate", "value": "OnMetricDataUpdate" + }, + { + "name": "OnCaseCreate", + "value": "OnCaseCreate" + }, + { + "name": "OnCasesUpdate", + "value": "OnCasesUpdate" + } + ] + }, + "aws-native:connect:RuleUpdateCaseAction": { + "description": "The definition for update case action.", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleField" + } } + }, + "type": "object", + "required": [ + "fields" ] }, "aws-native:connect:SecurityProfileTag": { @@ -30552,6 +31356,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 +31519,15 @@ "currentLsn": { "type": "string" }, + "keepCsvFiles": { + "type": "boolean" + }, + "loadTimeout": { + "type": "integer" + }, + "maxFileSize": { + "type": "integer" + }, "maxKBytesPerRead": { "type": "integer" }, @@ -30657,6 +31539,9 @@ }, "setDataCaptureChanges": { "type": "boolean" + }, + "writeBufferSize": { + "type": "integer" } }, "type": "object" @@ -31357,6 +32242,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 +32437,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": { @@ -33467,7 +34567,7 @@ "$ref": "#/types/aws-native:ec2:InstanceEbs" }, "noDevice": { - "$ref": "#/types/aws-native:ec2:InstanceNoDevice" + "$ref": "pulumi.json#/Any" }, "virtualName": { "type": "string" @@ -33675,9 +34775,6 @@ "deviceIndex" ] }, - "aws-native:ec2:InstanceNoDevice": { - "type": "object" - }, "aws-native:ec2:InstancePrivateDnsNameOptions": { "properties": { "enableResourceNameDnsARecord": { @@ -36041,6 +37138,20 @@ "value" ] }, + "aws-native:ec2:SnapshotBlockPublicAccessState": { + "description": "The state of EBS Snapshot Block Public Access.", + "type": "string", + "enum": [ + { + "name": "BlockAllSharing", + "value": "block-all-sharing" + }, + { + "name": "BlockNewSharing", + "value": "block-new-sharing" + } + ] + }, "aws-native:ec2:SpotFleetAcceleratorCountRequest": { "properties": { "max": { @@ -37731,6 +38842,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 +39229,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -38126,6 +39244,19 @@ "autoScalingGroupArn" ] }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string", "enum": [ @@ -39715,6 +40846,39 @@ "value" ] }, + "aws-native:eks:ClusterAccessConfig": { + "description": "An object representing the Access Config to use for the cluster.", + "properties": { + "authenticationMode": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfigAuthenticationMode", + "description": "Specify the authentication mode that should be used to create your cluster." + }, + "bootstrapClusterCreatorAdminPermissions": { + "type": "boolean", + "description": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.", + "replaceOnChanges": true + } + }, + "type": "object" + }, + "aws-native:eks:ClusterAccessConfigAuthenticationMode": { + "description": "Specify the authentication mode that should be used to create your cluster.", + "type": "string", + "enum": [ + { + "name": "ConfigMap", + "value": "CONFIG_MAP" + }, + { + "name": "ApiAndConfigMap", + "value": "API_AND_CONFIG_MAP" + }, + { + "name": "Api", + "value": "API" + } + ] + }, "aws-native:eks:ClusterControlPlanePlacement": { "description": "Specify the placement group of the control plane machines for your cluster.", "properties": { @@ -42302,6 +43466,20 @@ "allocationStrategy" ] }, + "aws-native:emr:ClusterPlacementGroupConfig": { + "properties": { + "instanceRole": { + "type": "string" + }, + "placementStrategy": { + "type": "string" + } + }, + "type": "object", + "required": [ + "instanceRole" + ] + }, "aws-native:emr:ClusterPlacementType": { "properties": { "availabilityZone": { @@ -42895,6 +44073,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 +46200,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": { @@ -47294,6 +48527,20 @@ "cost" ] }, + "aws-native:gamelift:FleetApplyCapacity": { + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", + "type": "string", + "enum": [ + { + "name": "OnUpdate", + "value": "ON_UPDATE" + }, + { + "name": "OnCreateAndUpdate", + "value": "ON_CREATE_AND_UPDATE" + } + ] + }, "aws-native:gamelift:FleetCertificateConfiguration": { "description": "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.", "properties": { @@ -52692,6 +53939,60 @@ } ] }, + "aws-native:imagebuilder:ImagePipelineWorkflowConfiguration": { + "description": "The workflow configuration of the image", + "properties": { + "onFailure": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfigurationOnFailure", + "description": "Define execution decision in case of workflow failure" + }, + "parallelGroup": { + "type": "string", + "description": "The parallel group name" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowParameter" + }, + "description": "The parameters associated with the workflow" + }, + "workflowArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow" + } + }, + "type": "object" + }, + "aws-native:imagebuilder:ImagePipelineWorkflowConfigurationOnFailure": { + "description": "Define execution decision in case of workflow failure", + "type": "string", + "enum": [ + { + "name": "Continue", + "value": "CONTINUE" + }, + { + "name": "Abort", + "value": "ABORT" + } + ] + }, + "aws-native:imagebuilder:ImagePipelineWorkflowParameter": { + "description": "A parameter associated with the workflow", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, "aws-native:imagebuilder:ImageRecipeAdditionalInstanceConfiguration": { "description": "Specify additional settings and launch scripts for your build instances.", "properties": { @@ -52876,6 +54177,60 @@ }, "type": "object" }, + "aws-native:imagebuilder:ImageWorkflowConfiguration": { + "description": "The workflow configuration of the image", + "properties": { + "onFailure": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfigurationOnFailure", + "description": "Define execution decision in case of workflow failure" + }, + "parallelGroup": { + "type": "string", + "description": "The parallel group name" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowParameter" + }, + "description": "The parameters associated with the workflow" + }, + "workflowArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow" + } + }, + "type": "object" + }, + "aws-native:imagebuilder:ImageWorkflowConfigurationOnFailure": { + "description": "Define execution decision in case of workflow failure", + "type": "string", + "enum": [ + { + "name": "Continue", + "value": "CONTINUE" + }, + { + "name": "Abort", + "value": "ABORT" + } + ] + }, + "aws-native:imagebuilder:ImageWorkflowParameter": { + "description": "A parameter associated with the workflow", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, "aws-native:imagebuilder:InfrastructureConfigurationInstanceMetadataOptions": { "description": "The instance metadata option settings for the infrastructure configuration.", "properties": { @@ -53185,6 +54540,24 @@ } ] }, + "aws-native:imagebuilder:WorkflowType": { + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute.", + "type": "string", + "enum": [ + { + "name": "Build", + "value": "BUILD" + }, + { + "name": "Test", + "value": "TEST" + }, + { + "name": "Distribution", + "value": "DISTRIBUTION" + } + ] + }, "aws-native:index/Region:Region": { "description": "A Region represents any valid Amazon region that may be targeted with deployments.", "type": "string", @@ -55631,6 +57004,33 @@ } ] }, + "aws-native:iot:CertificateProviderOperation": { + "type": "string", + "enum": [ + { + "name": "CreateCertificateFromCsr", + "value": "CreateCertificateFromCsr" + } + ] + }, + "aws-native:iot:CertificateProviderTag": { + "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 127 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 1 to 255 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:iot:CertificateStatus": { "type": "string", "enum": [ @@ -67241,6 +68641,10 @@ "name": "RecordDeAggregation", "value": "RecordDeAggregation" }, + { + "name": "Decompression", + "value": "Decompression" + }, { "name": "Lambda", "value": "Lambda" @@ -68320,6 +69724,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 +69736,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 +69749,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 +85796,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 +85843,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 +85901,10 @@ "description": "A list of subnet IDs associated with the VPC endpoint." } }, - "type": "object" + "type": "object", + "required": [ + "subnetIds" + ] }, "aws-native:panorama:ApplicationInstanceHealthStatus": { "type": "string", @@ -127800,6 +129241,18 @@ { "name": "BucketKeyStatus", "value": "BucketKeyStatus" + }, + { + "name": "ChecksumAlgorithm", + "value": "ChecksumAlgorithm" + }, + { + "name": "ObjectAccessControlList", + "value": "ObjectAccessControlList" + }, + { + "name": "ObjectOwner", + "value": "ObjectOwner" } ] }, @@ -127862,6 +129315,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } }, "type": "object" @@ -128685,6 +130141,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 +130825,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 +131523,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 +132145,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 +132204,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 +132265,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 +132692,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 +132773,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 +132820,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 +132834,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 +133424,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 +137808,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } }, "type": "object" @@ -136673,6 +138337,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 +138396,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 +138813,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 +138878,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 +138922,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": { @@ -138319,6 +140159,10 @@ }, "type": "object" }, + "aws-native:securityhub:HubTags": { + "description": "A key-value pair to associate with a resource.", + "type": "object" + }, "aws-native:securityhub:StandardsControl": { "description": "An individual StandardsControl within the Standard.", "properties": { @@ -155920,6 +157764,9 @@ "graphQlDns": { "type": "string" }, + "graphQlEndpointArn": { + "type": "string" + }, "graphQlUrl": { "type": "string" }, @@ -155969,6 +157816,7 @@ "arn", "authenticationType", "graphQlDns", + "graphQlEndpointArn", "graphQlUrl", "name", "realtimeDns", @@ -157762,6 +159610,339 @@ ], "deprecationMessage": "ScalingPlan is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, + "aws-native:b2bi:Capability": { + "description": "Definition of AWS::B2BI::Capability Resource Type", + "properties": { + "capabilityArn": { + "type": "string" + }, + "capabilityId": { + "type": "string" + }, + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "createdAt": { + "type": "string" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityType", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "capabilityArn", + "capabilityId", + "configuration", + "createdAt", + "modifiedAt", + "name", + "type" + ], + "inputProperties": { + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityType" + } + }, + "requiredInputs": [ + "configuration", + "type" + ] + }, + "aws-native:b2bi:Partnership": { + "description": "Definition of AWS::B2BI::Partnership Resource Type", + "properties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string", + "replaceOnChanges": true + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "partnershipArn": { + "type": "string" + }, + "partnershipId": { + "type": "string" + }, + "phone": { + "type": "string", + "replaceOnChanges": true + }, + "profileId": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + }, + "tradingPartnerId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "createdAt", + "email", + "modifiedAt", + "name", + "partnershipArn", + "partnershipId", + "profileId", + "tradingPartnerId" + ], + "inputProperties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + } + }, + "requiredInputs": [ + "email", + "profileId" + ] + }, + "aws-native:b2bi:Profile": { + "description": "Definition of AWS::B2BI::Profile Resource Type", + "properties": { + "businessName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logGroupName": { + "type": "string" + }, + "logging": { + "$ref": "#/types/aws-native:b2bi:ProfileLogging", + "replaceOnChanges": true + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileArn": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + }, + "type": "object", + "required": [ + "businessName", + "createdAt", + "logGroupName", + "logging", + "modifiedAt", + "name", + "phone", + "profileArn", + "profileId" + ], + "inputProperties": { + "businessName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logging": { + "$ref": "#/types/aws-native:b2bi:ProfileLogging" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + }, + "requiredInputs": [ + "businessName", + "logging", + "phone" + ] + }, + "aws-native:b2bi:Transformer": { + "description": "Definition of AWS::B2BI::Transformer Resource Type", + "properties": { + "createdAt": { + "type": "string" + }, + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + }, + "transformerArn": { + "type": "string" + }, + "transformerId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "createdAt", + "ediType", + "fileFormat", + "mappingTemplate", + "name", + "status", + "transformerArn", + "transformerId" + ], + "inputProperties": { + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + } + }, + "requiredInputs": [ + "ediType", + "fileFormat", + "mappingTemplate", + "status" + ] + }, "aws-native:backup:BackupPlan": { "description": "Resource Type definition for AWS::Backup::BackupPlan", "properties": { @@ -158345,50 +160526,76 @@ "aws-native:batch:JobDefinition": { "description": "Resource Type definition for AWS::Batch::JobDefinition", "properties": { + "containerOrchestrationType": { + "type": "string" + }, "containerProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties" + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties", + "replaceOnChanges": true }, "eksProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties" + "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties", + "replaceOnChanges": true + }, + "jobDefinitionArn": { + "type": "string" }, "jobDefinitionName": { "type": "string", "replaceOnChanges": true }, "nodeProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties" + "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties", + "replaceOnChanges": true }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "replaceOnChanges": true }, "platformCapabilities": { "type": "array", "items": { "type": "string" - } + }, + "replaceOnChanges": true }, "propagateTags": { - "type": "boolean" + "type": "boolean", + "replaceOnChanges": true }, "retryStrategy": { - "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy" + "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy", + "replaceOnChanges": true }, - "schedulingPriority": { + "revision": { "type": "integer" }, + "schedulingPriority": { + "type": "integer", + "replaceOnChanges": true + }, + "status": { + "type": "string" + }, "tags": { "$ref": "pulumi.json#/Any", - "replaceOnChanges": true + "description": "A key-value pair to associate with a resource." }, "timeout": { - "$ref": "#/types/aws-native:batch:JobDefinitionTimeout" + "$ref": "#/types/aws-native:batch:JobDefinitionJobTimeout", + "replaceOnChanges": true }, "type": { - "type": "string" + "type": "string", + "replaceOnChanges": true } }, "type": "object", "required": [ + "containerOrchestrationType", + "jobDefinitionArn", + "revision", + "status", "type" ], "inputProperties": { @@ -158423,10 +160630,11 @@ "type": "integer" }, "tags": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." }, "timeout": { - "$ref": "#/types/aws-native:batch:JobDefinitionTimeout" + "$ref": "#/types/aws-native:batch:JobDefinitionJobTimeout" }, "type": { "type": "string" @@ -158434,8 +160642,7 @@ }, "requiredInputs": [ "type" - ], - "deprecationMessage": "JobDefinition is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:batch:JobQueue": { "description": "Resource Type definition for AWS::Batch::JobQueue", @@ -158637,6 +160844,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 +160907,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 +161521,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 +161625,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 +162144,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -159980,6 +162198,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -160202,6 +162423,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -160229,6 +162453,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -160298,6 +162525,7 @@ "type": "object", "required": [ "arn", + "imageId", "instanceType" ], "inputProperties": { @@ -160339,6 +162567,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 +163797,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 +164145,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 +164226,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 +165722,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 +165746,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" } } }, @@ -163534,6 +165827,9 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentGroupTag" } }, + "terminationHookEnabled": { + "type": "boolean" + }, "triggerConfigurations": { "type": "array", "items": { @@ -163616,6 +165912,9 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentGroupTag" } }, + "terminationHookEnabled": { + "type": "boolean" + }, "triggerConfigurations": { "type": "array", "items": { @@ -163906,6 +166205,9 @@ "type": "string", "replaceOnChanges": true }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -163924,6 +166226,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 +166267,9 @@ "name": { "type": "string" }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -163970,6 +166287,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 +168228,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -165914,6 +168246,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -166727,6 +169062,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 +169096,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 +174215,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 +174619,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 +174884,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", @@ -174703,6 +177406,9 @@ "type": "string", "replaceOnChanges": true }, + "instanceId": { + "type": "string" + }, "instanceInitiatedShutdownBehavior": { "type": "string" }, @@ -174824,6 +177530,7 @@ }, "type": "object", "required": [ + "instanceId", "privateDnsName", "privateIp", "publicDnsName", @@ -177189,6 +179896,10 @@ "type": "string", "description": "The primary identifier of the resource generated by the service." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "destinationCidrBlock": { "type": "string", "description": "The IPv4 CIDR block used for the destination match.", @@ -177256,6 +179967,10 @@ "type": "string", "description": "The ID of the carrier gateway." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "destinationCidrBlock": { "type": "string", "description": "The IPv4 CIDR block used for the destination match." @@ -177436,37 +180151,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 +180201,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", @@ -177608,6 +180340,33 @@ ], "deprecationMessage": "SecurityGroupIngress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, + "aws-native:ec2:SnapshotBlockPublicAccess": { + "description": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + }, + "type": "object", + "required": [ + "accountId", + "state" + ], + "inputProperties": { + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + }, + "requiredInputs": [ + "state" + ] + }, "aws-native:ec2:SpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "properties": { @@ -181698,6 +184457,9 @@ "aws-native:eks:Cluster": { "description": "An object representing an Amazon EKS cluster.", "properties": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "arn": { "type": "string", "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod." @@ -181777,6 +184539,9 @@ "roleArn" ], "inputProperties": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "encryptionConfig": { "type": "array", "items": { @@ -183196,10 +185961,8 @@ "required": [ "arn", "createTime", - "endpoint", "engine", "fullEngineVersion", - "readerEndpoint", "serverlessCacheName", "status" ], @@ -183215,6 +185978,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 +185997,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -184809,10 +187578,18 @@ "type": "string", "replaceOnChanges": true }, + "ebsRootVolumeIops": { + "type": "integer", + "replaceOnChanges": true + }, "ebsRootVolumeSize": { "type": "integer", "replaceOnChanges": true }, + "ebsRootVolumeThroughput": { + "type": "integer", + "replaceOnChanges": true + }, "instances": { "$ref": "#/types/aws-native:emr:ClusterJobFlowInstancesConfig" }, @@ -184846,6 +187623,13 @@ "type": "string", "replaceOnChanges": true }, + "placementGroupConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:emr:ClusterPlacementGroupConfig" + }, + "replaceOnChanges": true + }, "releaseLabel": { "type": "string", "replaceOnChanges": true @@ -184921,9 +187705,15 @@ "customAmiId": { "type": "string" }, + "ebsRootVolumeIops": { + "type": "integer" + }, "ebsRootVolumeSize": { "type": "integer" }, + "ebsRootVolumeThroughput": { + "type": "integer" + }, "instances": { "$ref": "#/types/aws-native:emr:ClusterJobFlowInstancesConfig" }, @@ -184948,6 +187738,12 @@ "osReleaseLabel": { "type": "string" }, + "placementGroupConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:emr:ClusterPlacementGroupConfig" + } + }, "releaseLabel": { "type": "string" }, @@ -185276,11 +188072,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 +188127,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 +188179,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 +188225,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 +189260,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 +189354,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", @@ -186556,72 +189408,95 @@ "description": "Resource Type definition for AWS::EventSchemas::Schema", "properties": { "content": { - "type": "string" + "type": "string", + "description": "The source of the schema definition." }, "description": { - "type": "string" + "type": "string", + "description": "A description of the schema." + }, + "lastModified": { + "type": "string", + "description": "The last modified time of the schema." }, "registryName": { "type": "string", + "description": "The name of the schema registry.", "replaceOnChanges": true }, "schemaArn": { - "type": "string" + "type": "string", + "description": "The ARN of the schema." }, "schemaName": { "type": "string", + "description": "The name of the schema.", "replaceOnChanges": true }, "schemaVersion": { - "type": "string" + "type": "string", + "description": "The version number of the schema." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" - } + }, + "description": "Tags associated with the resource." }, "type": { - "type": "string" + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + }, + "versionCreatedDate": { + "type": "string", + "description": "The date the schema version was created." } }, "type": "object", "required": [ "content", + "lastModified", "registryName", "schemaArn", "schemaVersion", - "type" + "type", + "versionCreatedDate" ], "inputProperties": { "content": { - "type": "string" + "type": "string", + "description": "The source of the schema definition." }, "description": { - "type": "string" + "type": "string", + "description": "A description of the schema." }, "registryName": { - "type": "string" + "type": "string", + "description": "The name of the schema registry." }, "schemaName": { - "type": "string" + "type": "string", + "description": "The name of the schema." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" - } + }, + "description": "Tags associated with the resource." }, "type": { - "type": "string" + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." } }, "requiredInputs": [ "content", "registryName", "type" - ], - "deprecationMessage": "Schema is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:evidently:Experiment": { "description": "Resource Type definition for AWS::Evidently::Experiment.", @@ -187175,6 +190050,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -187210,6 +190088,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -187237,6 +190118,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": { @@ -188691,6 +191616,11 @@ "$ref": "#/types/aws-native:gamelift:FleetAnywhereConfiguration", "description": "Configuration for Anywhere fleet." }, + "applyCapacity": { + "$ref": "#/types/aws-native:gamelift:FleetApplyCapacity", + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", + "replaceOnChanges": true + }, "buildId": { "type": "string", "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", @@ -188833,6 +191763,10 @@ "$ref": "#/types/aws-native:gamelift:FleetAnywhereConfiguration", "description": "Configuration for Anywhere fleet." }, + "applyCapacity": { + "$ref": "#/types/aws-native:gamelift:FleetApplyCapacity", + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer." + }, "buildId": { "type": "string", "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created." @@ -193619,7 +196553,8 @@ "properties": { "groupId": { "type": "string", - "description": "The unique identifier for a group in the identity store." + "description": "The unique identifier for a group in the identity store.", + "replaceOnChanges": true }, "identityStoreId": { "type": "string", @@ -193628,7 +196563,8 @@ }, "memberId": { "$ref": "#/types/aws-native:identitystore:GroupMembershipMemberId", - "description": "An object containing the identifier of a group member." + "description": "An object containing the identifier of a group member.", + "replaceOnChanges": true }, "membershipId": { "type": "string", @@ -194027,6 +196963,10 @@ "description": "Collects additional information about the image being created, including the operating system (OS) version and package list.", "replaceOnChanges": true }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageId": { "type": "string", "description": "The AMI ID of the EC2 AMI in current region." @@ -194063,6 +197003,14 @@ "$ref": "pulumi.json#/Any", "description": "The tags associated with the image.", "replaceOnChanges": true + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfiguration" + }, + "description": "Workflows to define the image build process", + "replaceOnChanges": true } }, "type": "object", @@ -194085,6 +197033,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -194104,6 +197056,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags associated with the image." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } } }, @@ -194130,6 +197089,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -194162,6 +197125,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } }, "type": "object", @@ -194185,6 +197155,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -194216,6 +197190,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } } }, @@ -194569,6 +197550,109 @@ "resourceType" ] }, + "aws-native:imagebuilder:Workflow": { + "description": "Resource schema for AWS::ImageBuilder::Workflow", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + }, + "changeDescription": { + "type": "string", + "description": "The change description of the workflow.", + "replaceOnChanges": true + }, + "data": { + "type": "string", + "description": "The data of the workflow.", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the workflow.", + "replaceOnChanges": true + }, + "kmsKeyId": { + "type": "string", + "description": "The KMS key identifier used to encrypt the workflow.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the workflow.", + "replaceOnChanges": true + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "The tags associated with the workflow.", + "replaceOnChanges": true + }, + "type": { + "$ref": "#/types/aws-native:imagebuilder:WorkflowType", + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute.", + "replaceOnChanges": true + }, + "uri": { + "type": "string", + "description": "The uri of the workflow.", + "replaceOnChanges": true + }, + "version": { + "type": "string", + "description": "The version of the workflow.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "name", + "type", + "version" + ], + "inputProperties": { + "changeDescription": { + "type": "string", + "description": "The change description of the workflow." + }, + "data": { + "type": "string", + "description": "The data of the workflow." + }, + "description": { + "type": "string", + "description": "The description of the workflow." + }, + "kmsKeyId": { + "type": "string", + "description": "The KMS key identifier used to encrypt the workflow." + }, + "name": { + "type": "string", + "description": "The name of the workflow." + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "The tags associated with the workflow." + }, + "type": { + "$ref": "#/types/aws-native:imagebuilder:WorkflowType", + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute." + }, + "uri": { + "type": "string", + "description": "The uri of the workflow." + }, + "version": { + "type": "string", + "description": "The version of the workflow." + } + }, + "requiredInputs": [ + "type", + "version" + ] + }, "aws-native:index:ExtensionResource": { "description": "A special resource that enables deploying CloudFormation Extensions (third-party resources). An extension has to be pre-registered in your AWS account in order to use this resource.", "properties": { @@ -195307,6 +198391,65 @@ "status" ] }, + "aws-native:iot:CertificateProvider": { + "description": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider.", + "properties": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "arn": { + "type": "string" + }, + "certificateProviderName": { + "type": "string", + "replaceOnChanges": true + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "accountDefaultForOperations", + "arn", + "lambdaFunctionArn" + ], + "inputProperties": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "certificateProviderName": { + "type": "string" + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "accountDefaultForOperations", + "lambdaFunctionArn" + ] + }, "aws-native:iot:CustomMetric": { "description": "A custom metric published by your devices to Device Defender.", "properties": { @@ -202128,23 +205271,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 +205305,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 +205634,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 +205758,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 +208291,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 +208320,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 +208334,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 +208354,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 +208366,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 +208383,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 +208399,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 +208439,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 +208478,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 +217058,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -213931,6 +217077,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -213965,6 +217114,7 @@ "arn", "domainArn", "domainEndpoint", + "domainEndpointV2", "domainEndpoints", "serviceSoftwareOptions" ], @@ -213999,6 +217149,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -215316,6 +218469,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 +218535,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 +229551,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 +229574,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 +230338,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 +230386,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 +230399,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 +230428,7 @@ "domainName", "homeEfsFileSystemId", "securityGroupIdForDomainBoundary", + "singleSignOnApplicationArn", "singleSignOnManagedApplicationInstanceId", "subnetIds", "url", @@ -229929,37 +233097,54 @@ } }, "aws-native:securityhub:Hub": { - "description": "Resource Type definition for AWS::SecurityHub::Hub", + "description": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n", "properties": { + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." + }, "autoEnableControls": { - "type": "boolean" + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" }, "controlFindingGenerator": { - "type": "string" + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." }, "enableDefaultStandards": { - "type": "boolean" + "type": "boolean", + "description": "Whether to enable the security standards that Security Hub has designated as automatically enabled." + }, + "subscribedAt": { + "type": "string", + "description": "The date and time when Security Hub was enabled in the account." }, "tags": { - "$ref": "pulumi.json#/Any" + "$ref": "#/types/aws-native:securityhub:HubTags" } }, "type": "object", + "required": [ + "arn", + "subscribedAt" + ], "inputProperties": { "autoEnableControls": { - "type": "boolean" + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" }, "controlFindingGenerator": { - "type": "string" + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." }, "enableDefaultStandards": { - "type": "boolean" + "type": "boolean", + "description": "Whether to enable the security standards that Security Hub has designated as automatically enabled." }, "tags": { - "$ref": "pulumi.json#/Any" + "$ref": "#/types/aws-native:securityhub:HubTags" } - }, - "deprecationMessage": "Hub is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:securityhub:Standard": { "description": "The AWS::SecurityHub::Standard resource represents the implementation of an individual AWS Security Hub Standard in your account. It requires you have SecurityHub enabled before you can enable the Standard.", @@ -230936,6 +234121,18 @@ "aws-native:servicecatalogappregistry:Application": { "description": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application", "properties": { + "applicationName": { + "type": "string", + "description": "The name of the application. " + }, + "applicationTagKey": { + "type": "string", + "description": "The key of the AWS application tag, which is awsApplication. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value." + }, + "applicationTagValue": { + "type": "string", + "description": "The value of the AWS application tag, which is the identifier of an associated resource. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value. " + }, "arn": { "type": "string" }, @@ -230953,6 +234150,9 @@ }, "type": "object", "required": [ + "applicationName", + "applicationTagKey", + "applicationTagValue", "arn", "name" ], @@ -232207,6 +235407,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" }, @@ -232245,6 +235448,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" }, @@ -242838,6 +246044,9 @@ "graphQlDns": { "type": "string" }, + "graphQlEndpointArn": { + "type": "string" + }, "graphQlUrl": { "type": "string" }, @@ -243769,6 +246978,203 @@ } } }, + "aws-native:b2bi:getCapability": { + "description": "Definition of AWS::B2BI::Capability Resource Type", + "inputs": { + "properties": { + "capabilityId": { + "type": "string" + } + }, + "required": [ + "capabilityId" + ] + }, + "outputs": { + "properties": { + "capabilityArn": { + "type": "string" + }, + "capabilityId": { + "type": "string" + }, + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "createdAt": { + "type": "string" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + } + } + } + }, + "aws-native:b2bi:getPartnership": { + "description": "Definition of AWS::B2BI::Partnership Resource Type", + "inputs": { + "properties": { + "partnershipId": { + "type": "string" + } + }, + "required": [ + "partnershipId" + ] + }, + "outputs": { + "properties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "partnershipArn": { + "type": "string" + }, + "partnershipId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + }, + "tradingPartnerId": { + "type": "string" + } + } + } + }, + "aws-native:b2bi:getProfile": { + "description": "Definition of AWS::B2BI::Profile Resource Type", + "inputs": { + "properties": { + "profileId": { + "type": "string" + } + }, + "required": [ + "profileId" + ] + }, + "outputs": { + "properties": { + "businessName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logGroupName": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileArn": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + } + } + }, + "aws-native:b2bi:getTransformer": { + "description": "Definition of AWS::B2BI::Transformer Resource Type", + "inputs": { + "properties": { + "transformerId": { + "type": "string" + } + }, + "required": [ + "transformerId" + ] + }, + "outputs": { + "properties": { + "createdAt": { + "type": "string" + }, + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + }, + "transformerArn": { + "type": "string" + }, + "transformerId": { + "type": "string" + } + } + } + }, "aws-native:backup:getBackupPlan": { "description": "Resource Type definition for AWS::Backup::BackupPlan", "inputs": { @@ -244090,51 +247496,31 @@ "description": "Resource Type definition for AWS::Batch::JobDefinition", "inputs": { "properties": { - "id": { + "jobDefinitionArn": { "type": "string" } }, "required": [ - "id" + "jobDefinitionArn" ] }, "outputs": { "properties": { - "containerProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties" - }, - "eksProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties" - }, - "id": { + "containerOrchestrationType": { "type": "string" }, - "nodeProperties": { - "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties" - }, - "parameters": { - "$ref": "pulumi.json#/Any" - }, - "platformCapabilities": { - "type": "array", - "items": { - "type": "string" - } - }, - "propagateTags": { - "type": "boolean" - }, - "retryStrategy": { - "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy" + "jobDefinitionArn": { + "type": "string" }, - "schedulingPriority": { + "revision": { "type": "integer" }, - "timeout": { - "$ref": "#/types/aws-native:batch:JobDefinitionTimeout" - }, - "type": { + "status": { "type": "string" + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." } } } @@ -245059,6 +248445,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -245872,6 +249261,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 +249547,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." @@ -247064,6 +250490,9 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentGroupTag" } }, + "terminationHookEnabled": { + "type": "boolean" + }, "triggerConfigurations": { "type": "array", "items": { @@ -247205,6 +250634,9 @@ "id": { "type": "string" }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -247223,6 +250655,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 +251694,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -248730,6 +252177,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 +254986,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 +255202,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 +255375,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,12 +256470,12 @@ "description": "Resource Type definition for AWS::EC2::Instance", "inputs": { "properties": { - "id": { + "instanceId": { "type": "string" } }, "required": [ - "id" + "instanceId" ] }, "outputs": { @@ -252856,7 +256507,7 @@ "iamInstanceProfile": { "type": "string" }, - "id": { + "instanceId": { "type": "string" }, "instanceInitiatedShutdownBehavior": { @@ -254163,6 +257814,10 @@ "type": "string", "description": "The primary identifier of the resource generated by the service." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "egressOnlyInternetGatewayId": { "type": "string", "description": "The ID of the egress-only internet gateway." @@ -254277,7 +257932,8 @@ "inputs": { "properties": { "id": { - "type": "string" + "type": "string", + "description": "The Security Group Rule Id" } }, "required": [ @@ -254287,10 +257943,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" } } } @@ -254318,6 +257976,32 @@ } } }, + "aws-native:ec2:getSnapshotBlockPublicAccess": { + "description": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", + "inputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + } + }, + "required": [ + "accountId" + ] + }, + "outputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + } + } + }, "aws-native:ec2:getSpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "inputs": { @@ -256417,6 +260101,9 @@ }, "outputs": { "properties": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "arn": { "type": "string", "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod." @@ -258645,33 +262332,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 +262377,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." } } } @@ -258741,39 +262439,51 @@ "description": "Resource Type definition for AWS::EventSchemas::Schema", "inputs": { "properties": { - "id": { - "type": "string" + "schemaArn": { + "type": "string", + "description": "The ARN of the schema." } }, "required": [ - "id" + "schemaArn" ] }, "outputs": { "properties": { "content": { - "type": "string" + "type": "string", + "description": "The source of the schema definition." }, "description": { - "type": "string" + "type": "string", + "description": "A description of the schema." }, - "id": { - "type": "string" + "lastModified": { + "type": "string", + "description": "The last modified time of the schema." }, "schemaArn": { - "type": "string" + "type": "string", + "description": "The ARN of the schema." }, "schemaVersion": { - "type": "string" + "type": "string", + "description": "The version number of the schema." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" - } + }, + "description": "Tags associated with the resource." }, "type": { - "type": "string" + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + }, + "versionCreatedDate": { + "type": "string", + "description": "The date the schema version was created." } } } @@ -259092,6 +262802,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "id": { "type": "string" }, @@ -259113,6 +262826,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": { @@ -262847,14 +266587,6 @@ }, "outputs": { "properties": { - "groupId": { - "type": "string", - "description": "The unique identifier for a group in the identity store." - }, - "memberId": { - "$ref": "#/types/aws-native:identitystore:GroupMembershipMemberId", - "description": "An object containing the identifier of a group member." - }, "membershipId": { "type": "string", "description": "The identifier for a GroupMembership in the identity store." @@ -262970,6 +266702,10 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the image." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageId": { "type": "string", "description": "The AMI ID of the EC2 AMI in current region." @@ -263020,6 +266756,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -263047,6 +266787,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } } } @@ -263206,6 +266953,28 @@ } } }, + "aws-native:imagebuilder:getWorkflow": { + "description": "Resource schema for AWS::ImageBuilder::Workflow", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + } + } + } + }, "aws-native:index:cidr": { "inputs": { "properties": { @@ -263783,6 +267552,42 @@ } } }, + "aws-native:iot:getCertificateProvider": { + "description": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider.", + "inputs": { + "properties": { + "certificateProviderName": { + "type": "string" + } + }, + "required": [ + "certificateProviderName" + ] + }, + "outputs": { + "properties": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "arn": { + "type": "string" + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, "aws-native:iot:getCustomMetric": { "description": "A custom metric published by your devices to Device Defender.", "inputs": { @@ -267797,15 +271602,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 +271624,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 +273071,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 +273087,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 +273124,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 +273132,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 +273161,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 +273172,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 +277867,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -274072,6 +277885,9 @@ "id": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -274775,6 +278591,12 @@ }, "outputs": { "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -279887,13 +283709,13 @@ "description": "Resource schema for AWS::Route53Resolver::ResolverConfig.", "inputs": { "properties": { - "id": { + "resourceId": { "type": "string", - "description": "Id" + "description": "ResourceId" } }, "required": [ - "id" + "resourceId" ] }, "outputs": { @@ -280602,7 +284424,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 +284800,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 +284835,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." @@ -282255,33 +286092,38 @@ } }, "aws-native:securityhub:getHub": { - "description": "Resource Type definition for AWS::SecurityHub::Hub", + "description": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n", "inputs": { "properties": { - "id": { - "type": "string" + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." } }, "required": [ - "id" + "arn" ] }, "outputs": { "properties": { + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." + }, "autoEnableControls": { - "type": "boolean" + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" }, "controlFindingGenerator": { - "type": "string" - }, - "enableDefaultStandards": { - "type": "boolean" + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." }, - "id": { - "type": "string" + "subscribedAt": { + "type": "string", + "description": "The date and time when Security Hub was enabled in the account." }, "tags": { - "$ref": "pulumi.json#/Any" + "$ref": "#/types/aws-native:securityhub:HubTags" } } } @@ -282840,6 +286682,18 @@ }, "outputs": { "properties": { + "applicationName": { + "type": "string", + "description": "The name of the application. " + }, + "applicationTagKey": { + "type": "string", + "description": "The key of the AWS application tag, which is awsApplication. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value." + }, + "applicationTagValue": { + "type": "string", + "description": "The value of the AWS application tag, which is the identifier of an associated resource. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value. " + }, "arn": { "type": "string" }, @@ -283669,6 +287523,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" } @@ -284017,9 +287874,6 @@ "$ref": "#/types/aws-native:ssm:AssociationTarget" }, "description": "The targets that the SSM document sends commands to." - }, - "waitForSuccessTimeoutSeconds": { - "type": "integer" } } } 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..aebef19eaa 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -82,6 +82,10 @@ AWS::AutoScaling::LifecycleHook AWS::AutoScaling::ScalingPolicy AWS::AutoScaling::ScheduledAction AWS::AutoScaling::WarmPool +AWS::B2BI::Capability +AWS::B2BI::Partnership +AWS::B2BI::Profile +AWS::B2BI::Transformer AWS::Backup::BackupPlan AWS::Backup::BackupSelection AWS::Backup::BackupVault @@ -91,9 +95,12 @@ AWS::Backup::RestoreTestingPlan AWS::Backup::RestoreTestingSelection AWS::BackupGateway::Hypervisor AWS::Batch::ComputeEnvironment +AWS::Batch::JobDefinition 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 +200,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 @@ -272,6 +282,8 @@ AWS::EC2::PlacementGroup AWS::EC2::PrefixList AWS::EC2::Route AWS::EC2::RouteTable +AWS::EC2::SecurityGroupEgress +AWS::EC2::SnapshotBlockPublicAccess AWS::EC2::SpotFleet AWS::EC2::Subnet AWS::EC2::SubnetCidrBlock @@ -348,7 +360,10 @@ AWS::ElasticLoadBalancingV2::TrustStoreRevocation AWS::EntityResolution::IdMappingWorkflow AWS::EntityResolution::MatchingWorkflow AWS::EntityResolution::SchemaMapping +AWS::EventSchemas::Discoverer +AWS::EventSchemas::Registry AWS::EventSchemas::RegistryPolicy +AWS::EventSchemas::Schema AWS::Events::ApiDestination AWS::Events::Archive AWS::Events::Connection @@ -361,6 +376,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 @@ -433,6 +449,7 @@ AWS::ImageBuilder::ImagePipeline AWS::ImageBuilder::ImageRecipe AWS::ImageBuilder::InfrastructureConfiguration AWS::ImageBuilder::LifecyclePolicy +AWS::ImageBuilder::Workflow AWS::Inspector::AssessmentTarget AWS::Inspector::AssessmentTemplate AWS::Inspector::ResourceGroup @@ -443,6 +460,7 @@ AWS::IoT::Authorizer AWS::IoT::BillingGroup AWS::IoT::CACertificate AWS::IoT::Certificate +AWS::IoT::CertificateProvider AWS::IoT::CustomMetric AWS::IoT::Dimension AWS::IoT::DomainConfiguration @@ -812,6 +830,7 @@ AWS::Scheduler::Schedule AWS::Scheduler::ScheduleGroup AWS::SecretsManager::Secret AWS::SecurityHub::AutomationRule +AWS::SecurityHub::Hub AWS::SecurityHub::Standard AWS::ServiceCatalog::CloudFormationProvisionedProduct AWS::ServiceCatalog::ServiceAction diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 3d192c028d..4e3ac9e1eb 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -7258,6 +7258,326 @@ "autoScalingGroupName" ] }, + "aws-native:b2bi:Capability": { + "cf": "AWS::B2BI::Capability", + "inputs": { + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityType" + } + }, + "outputs": { + "capabilityArn": { + "type": "string" + }, + "capabilityId": { + "type": "string" + }, + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "createdAt": { + "type": "string" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityType", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 254 + }, + "required": [ + "configuration", + "type" + ], + "createOnly": [ + "type" + ] + }, + "aws-native:b2bi:Partnership": { + "cf": "AWS::B2BI::Partnership", + "inputs": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + } + }, + "outputs": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string", + "replaceOnChanges": true + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "partnershipArn": { + "type": "string" + }, + "partnershipId": { + "type": "string" + }, + "phone": { + "type": "string", + "replaceOnChanges": true + }, + "profileId": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + }, + "tradingPartnerId": { + "type": "string" + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 254 + }, + "required": [ + "email", + "profileId" + ], + "createOnly": [ + "email", + "phone", + "profileId" + ] + }, + "aws-native:b2bi:Profile": { + "cf": "AWS::B2BI::Profile", + "inputs": { + "businessName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logging": { + "$ref": "#/types/aws-native:b2bi:ProfileLogging" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + }, + "outputs": { + "businessName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logGroupName": { + "type": "string" + }, + "logging": { + "$ref": "#/types/aws-native:b2bi:ProfileLogging", + "replaceOnChanges": true + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileArn": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 254 + }, + "required": [ + "businessName", + "logging", + "phone" + ], + "createOnly": [ + "logging" + ] + }, + "aws-native:b2bi:Transformer": { + "cf": "AWS::B2BI::Transformer", + "inputs": { + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + } + }, + "outputs": { + "createdAt": { + "type": "string" + }, + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + }, + "transformerArn": { + "type": "string" + }, + "transformerId": { + "type": "string" + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 254 + }, + "required": [ + "ediType", + "fileFormat", + "mappingTemplate", + "status" + ] + }, "aws-native:backup:BackupPlan": { "cf": "AWS::Backup::BackupPlan", "inputs": { @@ -7859,6 +8179,141 @@ "updatePolicy" ] }, + "aws-native:batch:JobDefinition": { + "cf": "AWS::Batch::JobDefinition", + "inputs": { + "containerProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties" + }, + "eksProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties" + }, + "jobDefinitionName": { + "type": "string" + }, + "nodeProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties" + }, + "parameters": { + "$ref": "pulumi.json#/Any" + }, + "platformCapabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "propagateTags": { + "type": "boolean" + }, + "retryStrategy": { + "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy" + }, + "schedulingPriority": { + "type": "integer" + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." + }, + "timeout": { + "$ref": "#/types/aws-native:batch:JobDefinitionJobTimeout" + }, + "type": { + "type": "string" + } + }, + "outputs": { + "containerOrchestrationType": { + "type": "string" + }, + "containerProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties", + "replaceOnChanges": true + }, + "eksProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties", + "replaceOnChanges": true + }, + "jobDefinitionArn": { + "type": "string" + }, + "jobDefinitionName": { + "type": "string", + "replaceOnChanges": true + }, + "nodeProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties", + "replaceOnChanges": true + }, + "parameters": { + "$ref": "pulumi.json#/Any", + "replaceOnChanges": true + }, + "platformCapabilities": { + "type": "array", + "items": { + "type": "string" + }, + "replaceOnChanges": true + }, + "propagateTags": { + "type": "boolean", + "replaceOnChanges": true + }, + "retryStrategy": { + "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy", + "replaceOnChanges": true + }, + "revision": { + "type": "integer" + }, + "schedulingPriority": { + "type": "integer", + "replaceOnChanges": true + }, + "status": { + "type": "string" + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." + }, + "timeout": { + "$ref": "#/types/aws-native:batch:JobDefinitionJobTimeout", + "replaceOnChanges": true + }, + "type": { + "type": "string", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "jobDefinitionName", + "maxLength": 128 + }, + "required": [ + "type" + ], + "createOnly": [ + "containerProperties", + "eksProperties", + "jobDefinitionName", + "nodeProperties", + "parameters", + "platformCapabilities", + "propagateTags", + "retryStrategy", + "schedulingPriority", + "timeout", + "type" + ], + "writeOnly": [ + "containerProperties/InstanceType", + "nodeProperties/NodeRangeProperties/*/Container/FargatePlatformConfiguration/PlatformVersion", + "nodeProperties/NodeRangeProperties/*/Container/NetworkConfiguration/AssignPublicIp" + ] + }, "aws-native:batch:JobQueue": { "cf": "AWS::Batch::JobQueue", "inputs": { @@ -8224,6 +8679,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 +9276,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -8679,6 +9323,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -8723,6 +9371,7 @@ "createOnly": [ "creatorDisplayName", "creatorMemberAbilities", + "creatorPaymentConfiguration", "dataEncryptionMetadata", "members", "queryLogStatus" @@ -8904,6 +9553,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -8935,6 +9587,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -10311,71 +10966,87 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, - "ingestionEnabled": { - "type": "boolean", - "description": "Indicates whether the event data store is ingesting events." - }, - "insightSelectors": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cloudtrail:EventDataStoreInsightSelector" - }, - "description": "Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing event data store. Both InsightSelectors and InsightsDestination need to have a value in order to enable Insights events on an event data store." - }, - "insightsDestination": { - "type": "string", - "description": "Specifies the ARN of the event data store that will collect Insights events. Both InsightSelectors and InsightsDestination need to have a value in order to enable Insights events on an event data store" - }, - "kmsKeyId": { - "type": "string", - "description": "Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by 'alias/', a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier." - }, - "multiRegionEnabled": { - "type": "boolean", - "description": "Indicates whether the event data store includes events from all regions, or only from the region in which it was created." - }, - "name": { - "type": "string", - "description": "The name of the event data store." - }, - "organizationEnabled": { - "type": "boolean", - "description": "Indicates that an event data store is collecting logged events for an organization." - }, - "retentionPeriod": { - "type": "integer", - "description": "The retention period, in days." - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cloudtrail:EventDataStoreTag" - } - }, - "terminationProtectionEnabled": { + "federationEnabled": { "type": "boolean", - "description": "Indicates whether the event data store is protected from termination." - } - }, - "outputs": { - "advancedEventSelectors": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cloudtrail:EventDataStoreAdvancedEventSelector" - }, - "description": "The advanced event selectors that were used to select events for the data store." - }, - "billingMode": { - "type": "string", - "description": "The mode that the event data store will use to charge for event storage." + "description": "Indicates whether federation is enabled on an event data store." }, - "createdTimestamp": { + "federationRoleArn": { "type": "string", - "description": "The timestamp of the event data store's creation." - }, - "eventDataStoreArn": { - "type": "string", - "description": "The ARN of the event data store." + "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." + }, + "insightSelectors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cloudtrail:EventDataStoreInsightSelector" + }, + "description": "Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing event data store. Both InsightSelectors and InsightsDestination need to have a value in order to enable Insights events on an event data store." + }, + "insightsDestination": { + "type": "string", + "description": "Specifies the ARN of the event data store that will collect Insights events. Both InsightSelectors and InsightsDestination need to have a value in order to enable Insights events on an event data store" + }, + "kmsKeyId": { + "type": "string", + "description": "Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by 'alias/', a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier." + }, + "multiRegionEnabled": { + "type": "boolean", + "description": "Indicates whether the event data store includes events from all regions, or only from the region in which it was created." + }, + "name": { + "type": "string", + "description": "The name of the event data store." + }, + "organizationEnabled": { + "type": "boolean", + "description": "Indicates that an event data store is collecting logged events for an organization." + }, + "retentionPeriod": { + "type": "integer", + "description": "The retention period, in days." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cloudtrail:EventDataStoreTag" + } + }, + "terminationProtectionEnabled": { + "type": "boolean", + "description": "Indicates whether the event data store is protected from termination." + } + }, + "outputs": { + "advancedEventSelectors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cloudtrail:EventDataStoreAdvancedEventSelector" + }, + "description": "The advanced event selectors that were used to select events for the data store." + }, + "billingMode": { + "type": "string", + "description": "The mode that the event data store will use to charge for event storage." + }, + "createdTimestamp": { + "type": "string", + "description": "The timestamp of the event data store's creation." + }, + "eventDataStoreArn": { + "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", @@ -11378,6 +12049,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 +12075,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 +12089,8 @@ "computePlatform", "deploymentConfigName", "minimumHealthyHosts", - "trafficRoutingConfig" + "trafficRoutingConfig", + "zonalConfig" ] }, "aws-native:codeguruprofiler:ProfilingGroup": { @@ -13814,6 +14495,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 +14539,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 +19159,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 +19597,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 +19623,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", @@ -22011,6 +23076,10 @@ "type": "string", "description": "The ID of the carrier gateway." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "destinationCidrBlock": { "type": "string", "description": "The IPv4 CIDR block used for the destination match." @@ -22073,6 +23142,10 @@ "type": "string", "description": "The primary identifier of the resource generated by the service." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "destinationCidrBlock": { "type": "string", "description": "The IPv4 CIDR block used for the destination match.", @@ -22180,6 +23253,129 @@ "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:SnapshotBlockPublicAccess": { + "cf": "AWS::EC2::SnapshotBlockPublicAccess", + "inputs": { + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + }, + "outputs": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + }, + "required": [ + "state" + ] + }, "aws-native:ec2:SpotFleet": { "cf": "AWS::EC2::SpotFleet", "inputs": { @@ -25772,6 +26968,9 @@ "aws-native:eks:Cluster": { "cf": "AWS::EKS::Cluster", "inputs": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "encryptionConfig": { "type": "array", "items": { @@ -25811,6 +27010,9 @@ } }, "outputs": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "arn": { "type": "string", "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod." @@ -25888,11 +27090,15 @@ "roleArn" ], "createOnly": [ + "accessConfig/BootstrapClusterCreatorAdminPermissions", "encryptionConfig", "kubernetesNetworkConfig", "name", "outpostConfig", "roleArn" + ], + "writeOnly": [ + "accessConfig/BootstrapClusterCreatorAdminPermissions" ] }, "aws-native:eks:FargateProfile": { @@ -26464,6 +27670,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 +27689,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 +29108,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 +29154,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 +29189,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 +29244,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 +29285,12 @@ ], "createOnly": [ "authMode", + "encryptionKeyArn", "engineSecurityGroupId", + "idcInstanceArn", + "idcUserAssignment", "serviceRole", + "trustedIdentityPropagationEnabled", "userRole", "vpcId", "workspaceSecurityGroupId" @@ -29000,6 +30252,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": { @@ -29029,6 +30393,97 @@ "registryName" ] }, + "aws-native:eventschemas:Schema": { + "cf": "AWS::EventSchemas::Schema", + "inputs": { + "content": { + "type": "string", + "description": "The source of the schema definition." + }, + "description": { + "type": "string", + "description": "A description of the schema." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry." + }, + "schemaName": { + "type": "string", + "description": "The name of the schema." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" + }, + "description": "Tags associated with the resource." + }, + "type": { + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + } + }, + "outputs": { + "content": { + "type": "string", + "description": "The source of the schema definition." + }, + "description": { + "type": "string", + "description": "A description of the schema." + }, + "lastModified": { + "type": "string", + "description": "The last modified time of the schema." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry.", + "replaceOnChanges": true + }, + "schemaArn": { + "type": "string", + "description": "The ARN of the schema." + }, + "schemaName": { + "type": "string", + "description": "The name of the schema.", + "replaceOnChanges": true + }, + "schemaVersion": { + "type": "string", + "description": "The version number of the schema." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" + }, + "description": "Tags associated with the resource." + }, + "type": { + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + }, + "versionCreatedDate": { + "type": "string", + "description": "The date the schema version was created." + } + }, + "autoNamingSpec": { + "sdkName": "schemaName" + }, + "required": [ + "content", + "registryName", + "type" + ], + "createOnly": [ + "registryName", + "schemaName" + ] + }, "aws-native:evidently:Experiment": { "cf": "AWS::Evidently::Experiment", "inputs": { @@ -29591,6 +31046,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -29617,6 +31075,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -29645,9 +31106,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": { @@ -30778,6 +32282,10 @@ "$ref": "#/types/aws-native:gamelift:FleetAnywhereConfiguration", "description": "Configuration for Anywhere fleet." }, + "applyCapacity": { + "$ref": "#/types/aws-native:gamelift:FleetApplyCapacity", + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer." + }, "buildId": { "type": "string", "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created." @@ -30898,6 +32406,11 @@ "$ref": "#/types/aws-native:gamelift:FleetAnywhereConfiguration", "description": "Configuration for Anywhere fleet." }, + "applyCapacity": { + "$ref": "#/types/aws-native:gamelift:FleetApplyCapacity", + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", + "replaceOnChanges": true + }, "buildId": { "type": "string", "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", @@ -31036,6 +32549,7 @@ "maxLength": 1024 }, "createOnly": [ + "applyCapacity", "buildId", "certificateConfiguration", "certificateType", @@ -33908,7 +35422,8 @@ "outputs": { "groupId": { "type": "string", - "description": "The unique identifier for a group in the identity store." + "description": "The unique identifier for a group in the identity store.", + "replaceOnChanges": true }, "identityStoreId": { "type": "string", @@ -33917,7 +35432,8 @@ }, "memberId": { "$ref": "#/types/aws-native:identitystore:GroupMembershipMemberId", - "description": "An object containing the identifier of a group member." + "description": "An object containing the identifier of a group member.", + "replaceOnChanges": true }, "membershipId": { "type": "string", @@ -33930,7 +35446,9 @@ "memberId" ], "createOnly": [ - "identityStoreId" + "groupId", + "identityStoreId", + "memberId" ] }, "aws-native:imagebuilder:Component": { @@ -34324,6 +35842,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -34343,6 +35865,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags associated with the image." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } }, "outputs": { @@ -34365,6 +35894,10 @@ "description": "Collects additional information about the image being created, including the operating system (OS) version and package list.", "replaceOnChanges": true }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageId": { "type": "string", "description": "The AMI ID of the EC2 AMI in current region." @@ -34401,6 +35934,14 @@ "$ref": "pulumi.json#/Any", "description": "The tags associated with the image.", "replaceOnChanges": true + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfiguration" + }, + "description": "Workflows to define the image build process", + "replaceOnChanges": true } }, "createOnly": [ @@ -34411,7 +35952,8 @@ "imageScanningConfiguration", "imageTestsConfiguration", "infrastructureConfigurationArn", - "tags" + "tags", + "workflows" ] }, "aws-native:imagebuilder:ImagePipeline": { @@ -34433,6 +35975,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -34464,6 +36010,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } }, "outputs": { @@ -34487,6 +36040,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -34519,6 +36076,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } }, "autoNamingSpec": { @@ -34880,6 +36444,120 @@ "name" ] }, + "aws-native:imagebuilder:Workflow": { + "cf": "AWS::ImageBuilder::Workflow", + "inputs": { + "changeDescription": { + "type": "string", + "description": "The change description of the workflow." + }, + "data": { + "type": "string", + "description": "The data of the workflow." + }, + "description": { + "type": "string", + "description": "The description of the workflow." + }, + "kmsKeyId": { + "type": "string", + "description": "The KMS key identifier used to encrypt the workflow." + }, + "name": { + "type": "string", + "description": "The name of the workflow." + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "The tags associated with the workflow." + }, + "type": { + "$ref": "#/types/aws-native:imagebuilder:WorkflowType", + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute." + }, + "uri": { + "type": "string", + "description": "The uri of the workflow." + }, + "version": { + "type": "string", + "description": "The version of the workflow." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + }, + "changeDescription": { + "type": "string", + "description": "The change description of the workflow.", + "replaceOnChanges": true + }, + "data": { + "type": "string", + "description": "The data of the workflow.", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the workflow.", + "replaceOnChanges": true + }, + "kmsKeyId": { + "type": "string", + "description": "The KMS key identifier used to encrypt the workflow.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the workflow.", + "replaceOnChanges": true + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "The tags associated with the workflow.", + "replaceOnChanges": true + }, + "type": { + "$ref": "#/types/aws-native:imagebuilder:WorkflowType", + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute.", + "replaceOnChanges": true + }, + "uri": { + "type": "string", + "description": "The uri of the workflow.", + "replaceOnChanges": true + }, + "version": { + "type": "string", + "description": "The version of the workflow.", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "type", + "version" + ], + "createOnly": [ + "changeDescription", + "data", + "description", + "kmsKeyId", + "name", + "tags", + "type", + "uri", + "version" + ], + "writeOnly": [ + "data", + "uri" + ] + }, "aws-native:index:ExtensionResource": { "cf": "", "inputs": { @@ -35524,6 +37202,67 @@ "caCertificatePem": "CACertificatePem" } }, + "aws-native:iot:CertificateProvider": { + "cf": "AWS::IoT::CertificateProvider", + "inputs": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "certificateProviderName": { + "type": "string" + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "outputs": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "arn": { + "type": "string" + }, + "certificateProviderName": { + "type": "string", + "replaceOnChanges": true + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "autoNamingSpec": { + "sdkName": "certificateProviderName", + "minLength": 1, + "maxLength": 128 + }, + "required": [ + "accountDefaultForOperations", + "lambdaFunctionArn" + ], + "createOnly": [ + "certificateProviderName" + ] + }, "aws-native:iot:CustomMetric": { "cf": "AWS::IoT::CustomMetric", "inputs": { @@ -41078,16 +42817,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 +42839,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 +43175,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 +43293,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 +43355,6 @@ "code/S3Key", "code/S3ObjectVersion", "code/ZipFile", - "policy", "snapStart", "snapStart/ApplyOn" ] @@ -43986,41 +45724,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 +45766,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 +45787,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 +45812,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 +45829,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 +45862,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 +45888,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 +53504,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -51820,6 +53561,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -51836,6 +53580,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -51877,7 +53624,9 @@ "advancedSecurityOptions/SamlOptions/MasterUserName" ], "irreversibleNames": { + "domainEndpointV2": "DomainEndpointV2", "ebsOptions": "EBSOptions", + "ipAddressType": "IPAddressType", "vpcOptions": "VPCOptions" } }, @@ -52401,6 +54150,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 +54187,12 @@ } }, "outputs": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -61999,11 +63760,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 +63778,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 +64583,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 +64631,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 +64644,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 +64675,10 @@ "vpcId" ], "createOnly": [ - "appNetworkAccessType", "authMode", "domainName", "domainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "kmsKeyId", - "subnetIds", "tags", "vpcId" ], @@ -64951,6 +66712,57 @@ } } }, + "aws-native:securityhub:Hub": { + "cf": "AWS::SecurityHub::Hub", + "inputs": { + "autoEnableControls": { + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" + }, + "controlFindingGenerator": { + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." + }, + "enableDefaultStandards": { + "type": "boolean", + "description": "Whether to enable the security standards that Security Hub has designated as automatically enabled." + }, + "tags": { + "$ref": "#/types/aws-native:securityhub:HubTags" + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." + }, + "autoEnableControls": { + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" + }, + "controlFindingGenerator": { + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." + }, + "enableDefaultStandards": { + "type": "boolean", + "description": "Whether to enable the security standards that Security Hub has designated as automatically enabled." + }, + "subscribedAt": { + "type": "string", + "description": "The date and time when Security Hub was enabled in the account." + }, + "tags": { + "$ref": "#/types/aws-native:securityhub:HubTags" + } + }, + "writeOnly": [ + "enableDefaultStandards" + ], + "irreversibleNames": { + "arn": "ARN" + } + }, "aws-native:securityhub:Standard": { "cf": "AWS::SecurityHub::Standard", "inputs": { @@ -65216,6 +67028,18 @@ } }, "outputs": { + "applicationName": { + "type": "string", + "description": "The name of the application. " + }, + "applicationTagKey": { + "type": "string", + "description": "The key of the AWS application tag, which is awsApplication. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value." + }, + "applicationTagValue": { + "type": "string", + "description": "The value of the AWS application tag, which is the identifier of an associated resource. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value. " + }, "arn": { "type": "string" }, @@ -66643,7 +68467,10 @@ }, "autoNamingSpec": { "sdkName": "name" - } + }, + "writeOnly": [ + "waitForSuccessTimeoutSeconds" + ] }, "aws-native:ssm:Document": { "cf": "AWS::SSM::Document", @@ -71517,7 +73344,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." } } }, @@ -77480,6 +79307,184 @@ } } }, + "aws-native:b2bi:CapabilityConfiguration0Properties": { + "type": "object", + "properties": { + "edi": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiConfiguration" + } + } + }, + "aws-native:b2bi:CapabilityConfigurationProperties": { + "type": "object", + "properties": { + "edi": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiConfiguration" + } + } + }, + "aws-native:b2bi:CapabilityEdiConfiguration": { + "type": "object", + "properties": { + "inputLocation": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + }, + "outputLocation": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + }, + "transformerId": { + "type": "string" + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiTypeProperties" + } + } + }, + "aws-native:b2bi:CapabilityEdiType0Properties": { + "type": "object", + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Details" + } + }, + "irreversibleNames": { + "x12Details": "X12Details" + } + }, + "aws-native:b2bi:CapabilityEdiTypeProperties": { + "type": "object", + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Details" + } + }, + "irreversibleNames": { + "x12Details": "X12Details" + } + }, + "aws-native:b2bi:CapabilityS3Location": { + "type": "object", + "properties": { + "bucketName": { + "type": "string" + }, + "key": { + "type": "string" + } + } + }, + "aws-native:b2bi:CapabilityTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:b2bi:CapabilityType": { + "type": "string" + }, + "aws-native:b2bi:CapabilityX12Details": { + "type": "object", + "properties": { + "transactionSet": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12TransactionSet" + }, + "version": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Version" + } + } + }, + "aws-native:b2bi:CapabilityX12TransactionSet": { + "type": "string" + }, + "aws-native:b2bi:CapabilityX12Version": { + "type": "string" + }, + "aws-native:b2bi:PartnershipTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:b2bi:ProfileLogging": { + "type": "string" + }, + "aws-native:b2bi:ProfileTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:b2bi:TransformerEdiType0Properties": { + "type": "object", + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Details" + } + }, + "irreversibleNames": { + "x12Details": "X12Details" + } + }, + "aws-native:b2bi:TransformerEdiTypeProperties": { + "type": "object", + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Details" + } + }, + "irreversibleNames": { + "x12Details": "X12Details" + } + }, + "aws-native:b2bi:TransformerFileFormat": { + "type": "string" + }, + "aws-native:b2bi:TransformerStatus": { + "type": "string" + }, + "aws-native:b2bi:TransformerTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:b2bi:TransformerX12Details": { + "type": "object", + "properties": { + "transactionSet": { + "$ref": "#/types/aws-native:b2bi:TransformerX12TransactionSet" + }, + "version": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Version" + } + } + }, + "aws-native:b2bi:TransformerX12TransactionSet": { + "type": "string" + }, + "aws-native:b2bi:TransformerX12Version": { + "type": "string" + }, "aws-native:backup:BackupPlanAdvancedBackupSettingResourceType": { "type": "object", "properties": { @@ -78045,6 +80050,586 @@ } } }, + "aws-native:batch:JobDefinitionContainerProperties": { + "type": "object", + "properties": { + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEnvironment" + } + }, + "ephemeralStorage": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesEphemeralStorageProperties" + }, + "executionRoleArn": { + "type": "string" + }, + "fargatePlatformConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesFargatePlatformConfigurationProperties" + }, + "image": { + "type": "string" + }, + "instanceType": { + "type": "string" + }, + "jobRoleArn": { + "type": "string" + }, + "linuxParameters": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesLinuxParametersProperties" + }, + "logConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesLogConfigurationProperties" + }, + "memory": { + "type": "integer" + }, + "mountPoints": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionMountPoint" + } + }, + "networkConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesNetworkConfigurationProperties" + }, + "privileged": { + "type": "boolean" + }, + "readonlyRootFilesystem": { + "type": "boolean" + }, + "resourceRequirements": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionResourceRequirement" + } + }, + "runtimePlatform": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesRuntimePlatformProperties" + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionSecret" + } + }, + "ulimits": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionUlimit" + } + }, + "user": { + "type": "string" + }, + "vcpus": { + "type": "integer" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionVolume" + } + } + } + }, + "aws-native:batch:JobDefinitionContainerPropertiesEphemeralStorageProperties": { + "type": "object", + "properties": { + "sizeInGiB": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionContainerPropertiesFargatePlatformConfigurationProperties": { + "type": "object", + "properties": { + "platformVersion": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionContainerPropertiesLinuxParametersProperties": { + "type": "object", + "properties": { + "devices": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionDevice" + } + }, + "initProcessEnabled": { + "type": "boolean" + }, + "maxSwap": { + "type": "integer" + }, + "sharedMemorySize": { + "type": "integer" + }, + "swappiness": { + "type": "integer" + }, + "tmpfs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionTmpfs" + } + } + } + }, + "aws-native:batch:JobDefinitionContainerPropertiesLogConfigurationProperties": { + "type": "object", + "properties": { + "logDriver": { + "type": "string" + }, + "options": { + "$ref": "pulumi.json#/Any" + }, + "secretOptions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionSecret" + } + } + } + }, + "aws-native:batch:JobDefinitionContainerPropertiesNetworkConfigurationProperties": { + "type": "object", + "properties": { + "assignPublicIp": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionContainerPropertiesRuntimePlatformProperties": { + "type": "object", + "properties": { + "cpuArchitecture": { + "type": "string" + }, + "operatingSystemFamily": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionDevice": { + "type": "object", + "properties": { + "containerPath": { + "type": "string" + }, + "hostPath": { + "type": "string" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:batch:JobDefinitionEfsAuthorizationConfig": { + "type": "object", + "properties": { + "accessPointId": { + "type": "string" + }, + "iam": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionEfsVolumeConfiguration": { + "type": "object", + "properties": { + "authorizationConfig": { + "$ref": "#/types/aws-native:batch:JobDefinitionEfsAuthorizationConfig" + }, + "fileSystemId": { + "type": "string" + }, + "rootDirectory": { + "type": "string" + }, + "transitEncryption": { + "type": "string" + }, + "transitEncryptionPort": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionEksContainer": { + "type": "object", + "properties": { + "args": { + "type": "array", + "items": { + "type": "string" + } + }, + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerEnvironmentVariable" + } + }, + "image": { + "type": "string" + }, + "imagePullPolicy": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resources": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerResourceRequirements" + }, + "securityContext": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerSecurityContext" + }, + "volumeMounts": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerVolumeMount" + } + } + } + }, + "aws-native:batch:JobDefinitionEksContainerEnvironmentVariable": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionEksContainerResourceRequirements": { + "type": "object", + "properties": { + "limits": { + "$ref": "pulumi.json#/Any" + }, + "requests": { + "$ref": "pulumi.json#/Any" + } + } + }, + "aws-native:batch:JobDefinitionEksContainerSecurityContext": { + "type": "object", + "properties": { + "privileged": { + "type": "boolean" + }, + "readOnlyRootFilesystem": { + "type": "boolean" + }, + "runAsGroup": { + "type": "integer" + }, + "runAsNonRoot": { + "type": "boolean" + }, + "runAsUser": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionEksContainerVolumeMount": { + "type": "object", + "properties": { + "mountPath": { + "type": "string" + }, + "name": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + } + } + }, + "aws-native:batch:JobDefinitionEksEmptyDir": { + "type": "object", + "properties": { + "medium": { + "type": "string" + }, + "sizeLimit": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionEksHostPath": { + "type": "object", + "properties": { + "path": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionEksMetadata": { + "type": "object", + "properties": { + "labels": { + "$ref": "pulumi.json#/Any" + } + } + }, + "aws-native:batch:JobDefinitionEksPodProperties": { + "type": "object", + "properties": { + "containers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainer" + } + }, + "dnsPolicy": { + "type": "string" + }, + "hostNetwork": { + "type": "boolean" + }, + "metadata": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksMetadata" + }, + "serviceAccountName": { + "type": "string" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksVolume" + } + } + } + }, + "aws-native:batch:JobDefinitionEksProperties": { + "type": "object", + "properties": { + "podProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksPodProperties" + } + } + }, + "aws-native:batch:JobDefinitionEksSecret": { + "type": "object", + "properties": { + "optional": { + "type": "boolean" + }, + "secretName": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionEksVolume": { + "type": "object", + "properties": { + "emptyDir": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksEmptyDir" + }, + "hostPath": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksHostPath" + }, + "name": { + "type": "string" + }, + "secret": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksSecret" + } + } + }, + "aws-native:batch:JobDefinitionEnvironment": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionEvaluateOnExit": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "onExitCode": { + "type": "string" + }, + "onReason": { + "type": "string" + }, + "onStatusReason": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionHost": { + "type": "object", + "properties": { + "sourcePath": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionJobTimeout": { + "type": "object", + "properties": { + "attemptDurationSeconds": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionMountPoint": { + "type": "object", + "properties": { + "containerPath": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "sourceVolume": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionNodeProperties": { + "type": "object", + "properties": { + "mainNode": { + "type": "integer" + }, + "nodeRangeProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionNodeRangeProperty" + } + }, + "numNodes": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionNodeRangeProperty": { + "type": "object", + "properties": { + "container": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties" + }, + "targetNodes": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionResourceRequirement": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionRetryStrategy": { + "type": "object", + "properties": { + "attempts": { + "type": "integer" + }, + "evaluateOnExit": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEvaluateOnExit" + } + } + } + }, + "aws-native:batch:JobDefinitionSecret": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "valueFrom": { + "type": "string" + } + } + }, + "aws-native:batch:JobDefinitionTmpfs": { + "type": "object", + "properties": { + "containerPath": { + "type": "string" + }, + "mountOptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "size": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionUlimit": { + "type": "object", + "properties": { + "hardLimit": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "softLimit": { + "type": "integer" + } + } + }, + "aws-native:batch:JobDefinitionVolume": { + "type": "object", + "properties": { + "efsVolumeConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionEfsVolumeConfiguration" + }, + "host": { + "$ref": "#/types/aws-native:batch:JobDefinitionHost" + }, + "name": { + "type": "string" + } + } + }, "aws-native:batch:JobQueueComputeEnvironmentOrder": { "type": "object", "properties": { @@ -78305,6 +80890,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 +81044,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 +81310,14 @@ } } }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "type": "object", + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + } + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "type": "object", "properties": { @@ -78687,6 +81354,14 @@ } } }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "type": "object", + "properties": { + "isResponsible": { + "type": "boolean" + } + } + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string" }, @@ -80660,6 +83335,17 @@ } } }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + } + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "type": "object", "properties": { @@ -80696,6 +83382,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 +84931,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" }, @@ -82432,6 +85145,18 @@ "$ref": "#/types/aws-native:connect:RuleAssignContactCategoryAction" } }, + "createCaseActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleCreateCaseAction" + } + }, + "endAssociatedTaskActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleEndAssociatedTasksAction" + } + }, "eventBridgeActions": { "type": "array", "items": { @@ -82449,12 +85174,36 @@ "items": { "$ref": "#/types/aws-native:connect:RuleTaskAction" } + }, + "updateCaseActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleUpdateCaseAction" + } } } }, "aws-native:connect:RuleAssignContactCategoryAction": { "type": "object" }, + "aws-native:connect:RuleCreateCaseAction": { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleField" + } + }, + "templateId": { + "type": "string", + "description": "The Id of template." + } + } + }, + "aws-native:connect:RuleEndAssociatedTasksAction": { + "type": "object" + }, "aws-native:connect:RuleEventBridgeAction": { "type": "object", "properties": { @@ -82464,6 +85213,35 @@ } } }, + "aws-native:connect:RuleField": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Id of the field" + }, + "value": { + "$ref": "#/types/aws-native:connect:RuleFieldValue" + } + } + }, + "aws-native:connect:RuleFieldValue": { + "type": "object", + "properties": { + "booleanValue": { + "type": "boolean" + }, + "doubleValue": { + "type": "number" + }, + "emptyValue": { + "$ref": "pulumi.json#/Any" + }, + "stringValue": { + "type": "string" + } + } + }, "aws-native:connect:RuleNotificationRecipientType": { "type": "object", "properties": { @@ -82563,6 +85341,17 @@ "aws-native:connect:RuleTriggerEventSourceEventSourceName": { "type": "string" }, + "aws-native:connect:RuleUpdateCaseAction": { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleField" + } + } + } + }, "aws-native:connect:SecurityProfileTag": { "type": "object", "properties": { @@ -85795,6 +88584,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 +88706,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": { @@ -88845,6 +91841,9 @@ } } }, + "aws-native:ec2:SnapshotBlockPublicAccessState": { + "type": "string" + }, "aws-native:ec2:SpotFleetAcceleratorCountRequest": { "type": "object", "properties": { @@ -89921,6 +92920,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 +93163,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -90168,6 +93174,9 @@ } } }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string" + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string" }, @@ -91459,6 +94468,23 @@ } } }, + "aws-native:eks:ClusterAccessConfig": { + "type": "object", + "properties": { + "authenticationMode": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfigAuthenticationMode", + "description": "Specify the authentication mode that should be used to create your cluster." + }, + "bootstrapClusterCreatorAdminPermissions": { + "type": "boolean", + "description": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.", + "replaceOnChanges": true + } + } + }, + "aws-native:eks:ClusterAccessConfigAuthenticationMode": { + "type": "string" + }, "aws-native:eks:ClusterControlPlanePlacement": { "type": "object", "properties": { @@ -92782,6 +95808,9 @@ "aws-native:emr:StudioAuthMode": { "type": "string" }, + "aws-native:emr:StudioIdcUserAssignment": { + "type": "string" + }, "aws-native:emr:StudioSessionMappingIdentityType": { "type": "string" }, @@ -93857,6 +96886,39 @@ } } }, + "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:eventschemas:SchemaTagsEntry": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:evidently:ExperimentMetricGoalObject": { "type": "object", "properties": { @@ -94278,6 +97340,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": { @@ -95085,6 +98166,9 @@ } } }, + "aws-native:gamelift:FleetApplyCapacity": { + "type": "string" + }, "aws-native:gamelift:FleetCertificateConfiguration": { "type": "object", "properties": { @@ -97268,6 +100352,47 @@ "aws-native:imagebuilder:ImagePipelineStatus": { "type": "string" }, + "aws-native:imagebuilder:ImagePipelineWorkflowConfiguration": { + "type": "object", + "properties": { + "onFailure": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfigurationOnFailure", + "description": "Define execution decision in case of workflow failure" + }, + "parallelGroup": { + "type": "string", + "description": "The parallel group name" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowParameter" + }, + "description": "The parameters associated with the workflow" + }, + "workflowArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow" + } + } + }, + "aws-native:imagebuilder:ImagePipelineWorkflowConfigurationOnFailure": { + "type": "string" + }, + "aws-native:imagebuilder:ImagePipelineWorkflowParameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "aws-native:imagebuilder:ImageRecipeAdditionalInstanceConfiguration": { "type": "object", "properties": { @@ -97409,6 +100534,47 @@ } } }, + "aws-native:imagebuilder:ImageWorkflowConfiguration": { + "type": "object", + "properties": { + "onFailure": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfigurationOnFailure", + "description": "Define execution decision in case of workflow failure" + }, + "parallelGroup": { + "type": "string", + "description": "The parallel group name" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowParameter" + }, + "description": "The parameters associated with the workflow" + }, + "workflowArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow" + } + } + }, + "aws-native:imagebuilder:ImageWorkflowConfigurationOnFailure": { + "type": "string" + }, + "aws-native:imagebuilder:ImageWorkflowParameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "aws-native:imagebuilder:InfrastructureConfigurationInstanceMetadataOptions": { "type": "object", "properties": { @@ -97617,6 +100783,9 @@ "aws-native:imagebuilder:LifecyclePolicyTimeUnit": { "type": "string" }, + "aws-native:imagebuilder:WorkflowType": { + "type": "string" + }, "aws-native:inspector:AssessmentTemplateTag": { "type": "object", "properties": { @@ -98171,6 +101340,22 @@ "aws-native:iot:CertificateMode": { "type": "string" }, + "aws-native:iot:CertificateProviderOperation": { + "type": "string" + }, + "aws-native:iot:CertificateProviderTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 127 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 1 to 255 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:iot:CertificateStatus": { "type": "string" }, @@ -105926,7 +109111,8 @@ "type": "object", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } } }, @@ -105934,7 +109120,8 @@ "type": "object", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } } }, @@ -113954,6 +117141,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 +148460,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } } }, @@ -145816,6 +149024,9 @@ } } }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "type": "object" + }, "aws-native:s3:BucketTiering": { "type": "object", "properties": { @@ -147101,6 +150312,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 +150365,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 +150413,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 +150618,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 +150665,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 +150728,9 @@ "s3Uri": "S3Uri" } }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string" + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "type": "string" }, @@ -150403,6 +153755,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } } }, @@ -150613,6 +153968,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 +154021,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 +154197,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 +154241,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" }, @@ -151549,6 +155042,9 @@ } } }, + "aws-native:securityhub:HubTags": { + "type": "object" + }, "aws-native:securityhub:StandardsControl": { "type": "object", "properties": { @@ -157562,6 +161058,30 @@ "autoScalingGroupName" ] }, + "aws-native:b2bi:getCapability": { + "cf": "AWS::B2BI::Capability", + "ids": [ + "capabilityId" + ] + }, + "aws-native:b2bi:getPartnership": { + "cf": "AWS::B2BI::Partnership", + "ids": [ + "partnershipId" + ] + }, + "aws-native:b2bi:getProfile": { + "cf": "AWS::B2BI::Profile", + "ids": [ + "profileId" + ] + }, + "aws-native:b2bi:getTransformer": { + "cf": "AWS::B2BI::Transformer", + "ids": [ + "transformerId" + ] + }, "aws-native:backup:getBackupPlan": { "cf": "AWS::Backup::BackupPlan", "ids": [ @@ -157617,6 +161137,12 @@ "computeEnvironmentArn" ] }, + "aws-native:batch:getJobDefinition": { + "cf": "AWS::Batch::JobDefinition", + "ids": [ + "jobDefinitionArn" + ] + }, "aws-native:batch:getJobQueue": { "cf": "AWS::Batch::JobQueue", "ids": [ @@ -157649,6 +161175,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 +161963,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": [ @@ -158696,6 +162252,18 @@ "routeTableId" ] }, + "aws-native:ec2:getSecurityGroupEgress": { + "cf": "AWS::EC2::SecurityGroupEgress", + "ids": [ + "id" + ] + }, + "aws-native:ec2:getSnapshotBlockPublicAccess": { + "cf": "AWS::EC2::SnapshotBlockPublicAccess", + "ids": [ + "accountId" + ] + }, "aws-native:ec2:getSpotFleet": { "cf": "AWS::EC2::SpotFleet", "ids": [ @@ -159178,12 +162746,30 @@ "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": [ "id" ] }, + "aws-native:eventschemas:getSchema": { + "cf": "AWS::EventSchemas::Schema", + "ids": [ + "schemaArn" + ] + }, "aws-native:evidently:getExperiment": { "cf": "AWS::Evidently::Experiment", "ids": [ @@ -159226,6 +162812,13 @@ "id" ] }, + "aws-native:fis:getTargetAccountConfiguration": { + "cf": "AWS::FIS::TargetAccountConfiguration", + "ids": [ + "experimentTemplateId", + "accountId" + ] + }, "aws-native:fms:getNotificationChannel": { "cf": "AWS::FMS::NotificationChannel", "ids": [ @@ -159606,6 +163199,12 @@ "arn" ] }, + "aws-native:imagebuilder:getWorkflow": { + "cf": "AWS::ImageBuilder::Workflow", + "ids": [ + "arn" + ] + }, "aws-native:inspector:getAssessmentTarget": { "cf": "AWS::Inspector::AssessmentTarget", "ids": [ @@ -159666,6 +163265,12 @@ "id" ] }, + "aws-native:iot:getCertificateProvider": { + "cf": "AWS::IoT::CertificateProvider", + "ids": [ + "certificateProviderName" + ] + }, "aws-native:iot:getCustomMetric": { "cf": "AWS::IoT::CustomMetric", "ids": [ @@ -160116,7 +163721,8 @@ "aws-native:lambda:getEventInvokeConfig": { "cf": "AWS::Lambda::EventInvokeConfig", "ids": [ - "id" + "functionName", + "qualifier" ] }, "aws-native:lambda:getEventSourceMapping": { @@ -161445,7 +165051,7 @@ "aws-native:route53resolver:getResolverConfig": { "cf": "AWS::Route53Resolver::ResolverConfig", "ids": [ - "id" + "resourceId" ] }, "aws-native:route53resolver:getResolverDnssecConfig": { @@ -161741,6 +165347,12 @@ "ruleArn" ] }, + "aws-native:securityhub:getHub": { + "cf": "AWS::SecurityHub::Hub", + "ids": [ + "arn" + ] + }, "aws-native:securityhub:getStandard": { "cf": "AWS::SecurityHub::Standard", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 1aed49d8ec..5cd8a95bfe 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -36,6 +36,7 @@ "auditmanager": "AuditManager", "autoscaling": "AutoScaling", "aws-native": "AwsNative", + "b2bi": "B2bi", "backup": "Backup", "backupgateway": "BackupGateway", "batch": "Batch", @@ -448,7 +449,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 +8767,11 @@ "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupVCpuCountRequest" } }, - "type": "object" + "type": "object", + "required": [ + "memoryMiB", + "vCpuCount" + ] }, "aws-native:autoscaling:AutoScalingGroupInstancesDistribution": { "properties": { @@ -9385,6 +9390,480 @@ }, "type": "object" }, + "aws-native:b2bi:CapabilityConfiguration0Properties": { + "properties": { + "edi": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiConfiguration" + } + }, + "type": "object", + "required": [ + "edi" + ] + }, + "aws-native:b2bi:CapabilityConfigurationProperties": { + "properties": { + "edi": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiConfiguration" + } + }, + "type": "object", + "required": [ + "edi" + ] + }, + "aws-native:b2bi:CapabilityEdiConfiguration": { + "properties": { + "inputLocation": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + }, + "outputLocation": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + }, + "transformerId": { + "type": "string" + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityEdiTypeProperties" + } + }, + "type": "object", + "required": [ + "inputLocation", + "outputLocation", + "transformerId", + "type" + ] + }, + "aws-native:b2bi:CapabilityEdiType0Properties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:CapabilityEdiTypeProperties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:CapabilityS3Location": { + "properties": { + "bucketName": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:b2bi:CapabilityTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:CapabilityType": { + "type": "string", + "enum": [ + { + "name": "Edi", + "value": "edi" + } + ] + }, + "aws-native:b2bi:CapabilityX12Details": { + "properties": { + "transactionSet": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12TransactionSet" + }, + "version": { + "$ref": "#/types/aws-native:b2bi:CapabilityX12Version" + } + }, + "type": "object" + }, + "aws-native:b2bi:CapabilityX12TransactionSet": { + "type": "string", + "enum": [ + { + "name": "X12110", + "value": "X12_110" + }, + { + "name": "X12180", + "value": "X12_180" + }, + { + "name": "X12204", + "value": "X12_204" + }, + { + "name": "X12210", + "value": "X12_210" + }, + { + "name": "X12214", + "value": "X12_214" + }, + { + "name": "X12215", + "value": "X12_215" + }, + { + "name": "X12310", + "value": "X12_310" + }, + { + "name": "X12315", + "value": "X12_315" + }, + { + "name": "X12322", + "value": "X12_322" + }, + { + "name": "X12404", + "value": "X12_404" + }, + { + "name": "X12410", + "value": "X12_410" + }, + { + "name": "X12820", + "value": "X12_820" + }, + { + "name": "X12824", + "value": "X12_824" + }, + { + "name": "X12830", + "value": "X12_830" + }, + { + "name": "X12846", + "value": "X12_846" + }, + { + "name": "X12850", + "value": "X12_850" + }, + { + "name": "X12852", + "value": "X12_852" + }, + { + "name": "X12855", + "value": "X12_855" + }, + { + "name": "X12856", + "value": "X12_856" + }, + { + "name": "X12860", + "value": "X12_860" + }, + { + "name": "X12861", + "value": "X12_861" + }, + { + "name": "X12864", + "value": "X12_864" + }, + { + "name": "X12940", + "value": "X12_940" + }, + { + "name": "X12990", + "value": "X12_990" + }, + { + "name": "X12997", + "value": "X12_997" + } + ] + }, + "aws-native:b2bi:CapabilityX12Version": { + "type": "string", + "enum": [ + { + "name": "Version4010", + "value": "VERSION_4010" + }, + { + "name": "Version4030", + "value": "VERSION_4030" + }, + { + "name": "Version5010", + "value": "VERSION_5010" + } + ] + }, + "aws-native:b2bi:PartnershipTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:ProfileLogging": { + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, + "aws-native:b2bi:ProfileTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:TransformerEdiType0Properties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:TransformerEdiTypeProperties": { + "properties": { + "x12Details": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Details" + } + }, + "type": "object", + "required": [ + "x12Details" + ] + }, + "aws-native:b2bi:TransformerFileFormat": { + "type": "string", + "enum": [ + { + "name": "Xml", + "value": "XML" + }, + { + "name": "Json", + "value": "JSON" + } + ] + }, + "aws-native:b2bi:TransformerStatus": { + "type": "string", + "enum": [ + { + "name": "Active", + "value": "active" + }, + { + "name": "Inactive", + "value": "inactive" + } + ] + }, + "aws-native:b2bi:TransformerTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:b2bi:TransformerX12Details": { + "properties": { + "transactionSet": { + "$ref": "#/types/aws-native:b2bi:TransformerX12TransactionSet" + }, + "version": { + "$ref": "#/types/aws-native:b2bi:TransformerX12Version" + } + }, + "type": "object" + }, + "aws-native:b2bi:TransformerX12TransactionSet": { + "type": "string", + "enum": [ + { + "name": "X12110", + "value": "X12_110" + }, + { + "name": "X12180", + "value": "X12_180" + }, + { + "name": "X12204", + "value": "X12_204" + }, + { + "name": "X12210", + "value": "X12_210" + }, + { + "name": "X12214", + "value": "X12_214" + }, + { + "name": "X12215", + "value": "X12_215" + }, + { + "name": "X12310", + "value": "X12_310" + }, + { + "name": "X12315", + "value": "X12_315" + }, + { + "name": "X12322", + "value": "X12_322" + }, + { + "name": "X12404", + "value": "X12_404" + }, + { + "name": "X12410", + "value": "X12_410" + }, + { + "name": "X12820", + "value": "X12_820" + }, + { + "name": "X12824", + "value": "X12_824" + }, + { + "name": "X12830", + "value": "X12_830" + }, + { + "name": "X12846", + "value": "X12_846" + }, + { + "name": "X12850", + "value": "X12_850" + }, + { + "name": "X12852", + "value": "X12_852" + }, + { + "name": "X12855", + "value": "X12_855" + }, + { + "name": "X12856", + "value": "X12_856" + }, + { + "name": "X12860", + "value": "X12_860" + }, + { + "name": "X12861", + "value": "X12_861" + }, + { + "name": "X12864", + "value": "X12_864" + }, + { + "name": "X12940", + "value": "X12_940" + }, + { + "name": "X12990", + "value": "X12_990" + }, + { + "name": "X12997", + "value": "X12_997" + } + ] + }, + "aws-native:b2bi:TransformerX12Version": { + "type": "string", + "enum": [ + { + "name": "Version4010", + "value": "VERSION_4010" + }, + { + "name": "Version4030", + "value": "VERSION_4030" + }, + { + "name": "Version5010", + "value": "VERSION_5010" + } + ] + }, "aws-native:backup:BackupPlanAdvancedBackupSettingResourceType": { "properties": { "backupOptions": { @@ -10041,6 +10520,634 @@ }, "type": "object" }, + "aws-native:batch:JobDefinitionContainerProperties": { + "properties": { + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEnvironment" + } + }, + "ephemeralStorage": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesEphemeralStorageProperties" + }, + "executionRoleArn": { + "type": "string" + }, + "fargatePlatformConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesFargatePlatformConfigurationProperties" + }, + "image": { + "type": "string" + }, + "instanceType": { + "type": "string" + }, + "jobRoleArn": { + "type": "string" + }, + "linuxParameters": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesLinuxParametersProperties" + }, + "logConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesLogConfigurationProperties" + }, + "memory": { + "type": "integer" + }, + "mountPoints": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionMountPoint" + } + }, + "networkConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesNetworkConfigurationProperties" + }, + "privileged": { + "type": "boolean" + }, + "readonlyRootFilesystem": { + "type": "boolean" + }, + "resourceRequirements": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionResourceRequirement" + } + }, + "runtimePlatform": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerPropertiesRuntimePlatformProperties" + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionSecret" + } + }, + "ulimits": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionUlimit" + } + }, + "user": { + "type": "string" + }, + "vcpus": { + "type": "integer" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionVolume" + } + } + }, + "type": "object", + "required": [ + "image" + ] + }, + "aws-native:batch:JobDefinitionContainerPropertiesEphemeralStorageProperties": { + "properties": { + "sizeInGiB": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "sizeInGiB" + ] + }, + "aws-native:batch:JobDefinitionContainerPropertiesFargatePlatformConfigurationProperties": { + "properties": { + "platformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionContainerPropertiesLinuxParametersProperties": { + "properties": { + "devices": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionDevice" + } + }, + "initProcessEnabled": { + "type": "boolean" + }, + "maxSwap": { + "type": "integer" + }, + "sharedMemorySize": { + "type": "integer" + }, + "swappiness": { + "type": "integer" + }, + "tmpfs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionTmpfs" + } + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionContainerPropertiesLogConfigurationProperties": { + "properties": { + "logDriver": { + "type": "string" + }, + "options": { + "$ref": "pulumi.json#/Any" + }, + "secretOptions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionSecret" + } + } + }, + "type": "object", + "required": [ + "logDriver" + ] + }, + "aws-native:batch:JobDefinitionContainerPropertiesNetworkConfigurationProperties": { + "properties": { + "assignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionContainerPropertiesRuntimePlatformProperties": { + "properties": { + "cpuArchitecture": { + "type": "string" + }, + "operatingSystemFamily": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionDevice": { + "properties": { + "containerPath": { + "type": "string" + }, + "hostPath": { + "type": "string" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEfsAuthorizationConfig": { + "properties": { + "accessPointId": { + "type": "string" + }, + "iam": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEfsVolumeConfiguration": { + "properties": { + "authorizationConfig": { + "$ref": "#/types/aws-native:batch:JobDefinitionEfsAuthorizationConfig" + }, + "fileSystemId": { + "type": "string" + }, + "rootDirectory": { + "type": "string" + }, + "transitEncryption": { + "type": "string" + }, + "transitEncryptionPort": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:batch:JobDefinitionEksContainer": { + "properties": { + "args": { + "type": "array", + "items": { + "type": "string" + } + }, + "command": { + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerEnvironmentVariable" + } + }, + "image": { + "type": "string" + }, + "imagePullPolicy": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resources": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerResourceRequirements" + }, + "securityContext": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerSecurityContext" + }, + "volumeMounts": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainerVolumeMount" + } + } + }, + "type": "object", + "required": [ + "image" + ] + }, + "aws-native:batch:JobDefinitionEksContainerEnvironmentVariable": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws-native:batch:JobDefinitionEksContainerResourceRequirements": { + "properties": { + "limits": { + "$ref": "pulumi.json#/Any" + }, + "requests": { + "$ref": "pulumi.json#/Any" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksContainerSecurityContext": { + "properties": { + "privileged": { + "type": "boolean" + }, + "readOnlyRootFilesystem": { + "type": "boolean" + }, + "runAsGroup": { + "type": "integer" + }, + "runAsNonRoot": { + "type": "boolean" + }, + "runAsUser": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksContainerVolumeMount": { + "properties": { + "mountPath": { + "type": "string" + }, + "name": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksEmptyDir": { + "properties": { + "medium": { + "type": "string" + }, + "sizeLimit": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksHostPath": { + "properties": { + "path": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksMetadata": { + "properties": { + "labels": { + "$ref": "pulumi.json#/Any" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksPodProperties": { + "properties": { + "containers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksContainer" + } + }, + "dnsPolicy": { + "type": "string" + }, + "hostNetwork": { + "type": "boolean" + }, + "metadata": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksMetadata" + }, + "serviceAccountName": { + "type": "string" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksVolume" + } + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksProperties": { + "properties": { + "podProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksPodProperties" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEksSecret": { + "properties": { + "optional": { + "type": "boolean" + }, + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ] + }, + "aws-native:batch:JobDefinitionEksVolume": { + "properties": { + "emptyDir": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksEmptyDir" + }, + "hostPath": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksHostPath" + }, + "name": { + "type": "string" + }, + "secret": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksSecret" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws-native:batch:JobDefinitionEnvironment": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionEvaluateOnExit": { + "properties": { + "action": { + "type": "string" + }, + "onExitCode": { + "type": "string" + }, + "onReason": { + "type": "string" + }, + "onStatusReason": { + "type": "string" + } + }, + "type": "object", + "required": [ + "action" + ] + }, + "aws-native:batch:JobDefinitionHost": { + "properties": { + "sourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionJobTimeout": { + "properties": { + "attemptDurationSeconds": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionMountPoint": { + "properties": { + "containerPath": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "sourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionNodeProperties": { + "properties": { + "mainNode": { + "type": "integer" + }, + "nodeRangeProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionNodeRangeProperty" + } + }, + "numNodes": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "mainNode", + "nodeRangeProperties", + "numNodes" + ] + }, + "aws-native:batch:JobDefinitionNodeRangeProperty": { + "properties": { + "container": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties" + }, + "targetNodes": { + "type": "string" + } + }, + "type": "object", + "required": [ + "targetNodes" + ] + }, + "aws-native:batch:JobDefinitionResourceRequirement": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionRetryStrategy": { + "properties": { + "attempts": { + "type": "integer" + }, + "evaluateOnExit": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:batch:JobDefinitionEvaluateOnExit" + } + } + }, + "type": "object" + }, + "aws-native:batch:JobDefinitionSecret": { + "properties": { + "name": { + "type": "string" + }, + "valueFrom": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name", + "valueFrom" + ] + }, + "aws-native:batch:JobDefinitionTmpfs": { + "properties": { + "containerPath": { + "type": "string" + }, + "mountOptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "size": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "containerPath", + "size" + ] + }, + "aws-native:batch:JobDefinitionUlimit": { + "properties": { + "hardLimit": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "softLimit": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "hardLimit", + "name", + "softLimit" + ] + }, + "aws-native:batch:JobDefinitionVolume": { + "properties": { + "efsVolumeConfiguration": { + "$ref": "#/types/aws-native:batch:JobDefinitionEfsVolumeConfiguration" + }, + "host": { + "$ref": "#/types/aws-native:batch:JobDefinitionHost" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:batch:JobQueueComputeEnvironmentOrder": { "properties": { "computeEnvironment": { @@ -10536,6 +11643,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 +11966,9 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" } }, "type": "object", @@ -10747,6 +11978,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 +12427,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 +12481,17 @@ "resultFormat" ] }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string", "enum": [ @@ -13851,6 +15126,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 +15188,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 +18951,7 @@ }, "type": "object", "required": [ + "encryptionConfig", "prefix", "retentionPeriodHours" ] @@ -17691,6 +18996,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 +19025,10 @@ { "name": "LambdaFunction", "value": "LAMBDA_FUNCTION" + }, + { + "name": "Application", + "value": "APPLICATION" } ] }, @@ -18041,6 +19368,18 @@ "$ref": "#/types/aws-native:connect:RuleAssignContactCategoryAction" } }, + "createCaseActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleCreateCaseAction" + } + }, + "endAssociatedTaskActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleEndAssociatedTasksAction" + } + }, "eventBridgeActions": { "type": "array", "items": { @@ -18058,6 +19397,12 @@ "items": { "$ref": "#/types/aws-native:connect:RuleTaskAction" } + }, + "updateCaseActions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleUpdateCaseAction" + } } }, "type": "object" @@ -18066,6 +19411,30 @@ "description": "The definition for assigning contact category action.", "type": "object" }, + "aws-native:connect:RuleCreateCaseAction": { + "description": "The definition for create case action.", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleField" + } + }, + "templateId": { + "type": "string", + "description": "The Id of template." + } + }, + "type": "object", + "required": [ + "fields", + "templateId" + ] + }, + "aws-native:connect:RuleEndAssociatedTasksAction": { + "description": "The definition for ending associated task action.", + "type": "object" + }, "aws-native:connect:RuleEventBridgeAction": { "description": "The definition for event bridge action.", "properties": { @@ -18079,6 +19448,41 @@ "name" ] }, + "aws-native:connect:RuleField": { + "description": "The field of the case.", + "properties": { + "id": { + "type": "string", + "description": "The Id of the field" + }, + "value": { + "$ref": "#/types/aws-native:connect:RuleFieldValue" + } + }, + "type": "object", + "required": [ + "id", + "value" + ] + }, + "aws-native:connect:RuleFieldValue": { + "description": "The value of the field.", + "properties": { + "booleanValue": { + "type": "boolean" + }, + "doubleValue": { + "type": "number" + }, + "emptyValue": { + "$ref": "pulumi.json#/Any" + }, + "stringValue": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:connect:RuleNotificationRecipientType": { "description": "The type of notification recipient.", "properties": { @@ -18261,9 +19665,32 @@ { "name": "OnMetricDataUpdate", "value": "OnMetricDataUpdate" + }, + { + "name": "OnCaseCreate", + "value": "OnCaseCreate" + }, + { + "name": "OnCasesUpdate", + "value": "OnCasesUpdate" } ] }, + "aws-native:connect:RuleUpdateCaseAction": { + "description": "The definition for update case action.", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:RuleField" + } + } + }, + "type": "object", + "required": [ + "fields" + ] + }, "aws-native:connect:SecurityProfileTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -23803,6 +25230,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 +25449,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": { @@ -27843,6 +29554,20 @@ "value" ] }, + "aws-native:ec2:SnapshotBlockPublicAccessState": { + "description": "The state of EBS Snapshot Block Public Access.", + "type": "string", + "enum": [ + { + "name": "BlockAllSharing", + "value": "block-all-sharing" + }, + { + "name": "BlockNewSharing", + "value": "block-new-sharing" + } + ] + }, "aws-native:ec2:SpotFleetAcceleratorCountRequest": { "properties": { "max": { @@ -29473,6 +31198,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 +31540,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -29823,6 +31555,19 @@ "autoScalingGroupArn" ] }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string", "enum": [ @@ -31412,6 +33157,39 @@ "value" ] }, + "aws-native:eks:ClusterAccessConfig": { + "description": "An object representing the Access Config to use for the cluster.", + "properties": { + "authenticationMode": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfigAuthenticationMode", + "description": "Specify the authentication mode that should be used to create your cluster." + }, + "bootstrapClusterCreatorAdminPermissions": { + "type": "boolean", + "description": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.", + "replaceOnChanges": true + } + }, + "type": "object" + }, + "aws-native:eks:ClusterAccessConfigAuthenticationMode": { + "description": "Specify the authentication mode that should be used to create your cluster.", + "type": "string", + "enum": [ + { + "name": "ConfigMap", + "value": "CONFIG_MAP" + }, + { + "name": "ApiAndConfigMap", + "value": "API_AND_CONFIG_MAP" + }, + { + "name": "Api", + "value": "API" + } + ] + }, "aws-native:eks:ClusterControlPlanePlacement": { "description": "Specify the placement group of the control plane machines for your cluster.", "properties": { @@ -32987,6 +34765,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 +36264,51 @@ "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:eventschemas:SchemaTagsEntry": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:evidently:ExperimentMetricGoalObject": { "properties": { "desiredChange": { @@ -35041,6 +36878,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": { @@ -36658,6 +38536,20 @@ "cost" ] }, + "aws-native:gamelift:FleetApplyCapacity": { + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", + "type": "string", + "enum": [ + { + "name": "OnUpdate", + "value": "ON_UPDATE" + }, + { + "name": "OnCreateAndUpdate", + "value": "ON_CREATE_AND_UPDATE" + } + ] + }, "aws-native:gamelift:FleetCertificateConfiguration": { "description": "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.", "properties": { @@ -39993,6 +41885,60 @@ } ] }, + "aws-native:imagebuilder:ImagePipelineWorkflowConfiguration": { + "description": "The workflow configuration of the image", + "properties": { + "onFailure": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfigurationOnFailure", + "description": "Define execution decision in case of workflow failure" + }, + "parallelGroup": { + "type": "string", + "description": "The parallel group name" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowParameter" + }, + "description": "The parameters associated with the workflow" + }, + "workflowArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow" + } + }, + "type": "object" + }, + "aws-native:imagebuilder:ImagePipelineWorkflowConfigurationOnFailure": { + "description": "Define execution decision in case of workflow failure", + "type": "string", + "enum": [ + { + "name": "Continue", + "value": "CONTINUE" + }, + { + "name": "Abort", + "value": "ABORT" + } + ] + }, + "aws-native:imagebuilder:ImagePipelineWorkflowParameter": { + "description": "A parameter associated with the workflow", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, "aws-native:imagebuilder:ImageRecipeAdditionalInstanceConfiguration": { "description": "Specify additional settings and launch scripts for your build instances.", "properties": { @@ -40177,6 +42123,60 @@ }, "type": "object" }, + "aws-native:imagebuilder:ImageWorkflowConfiguration": { + "description": "The workflow configuration of the image", + "properties": { + "onFailure": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfigurationOnFailure", + "description": "Define execution decision in case of workflow failure" + }, + "parallelGroup": { + "type": "string", + "description": "The parallel group name" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowParameter" + }, + "description": "The parameters associated with the workflow" + }, + "workflowArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow" + } + }, + "type": "object" + }, + "aws-native:imagebuilder:ImageWorkflowConfigurationOnFailure": { + "description": "Define execution decision in case of workflow failure", + "type": "string", + "enum": [ + { + "name": "Continue", + "value": "CONTINUE" + }, + { + "name": "Abort", + "value": "ABORT" + } + ] + }, + "aws-native:imagebuilder:ImageWorkflowParameter": { + "description": "A parameter associated with the workflow", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, "aws-native:imagebuilder:InfrastructureConfigurationInstanceMetadataOptions": { "description": "The instance metadata option settings for the infrastructure configuration.", "properties": { @@ -40486,6 +42486,24 @@ } ] }, + "aws-native:imagebuilder:WorkflowType": { + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute.", + "type": "string", + "enum": [ + { + "name": "Build", + "value": "BUILD" + }, + { + "name": "Test", + "value": "TEST" + }, + { + "name": "Distribution", + "value": "DISTRIBUTION" + } + ] + }, "aws-native:index/Region:Region": { "description": "A Region represents any valid Amazon region that may be targeted with deployments.", "type": "string", @@ -42921,6 +44939,33 @@ } ] }, + "aws-native:iot:CertificateProviderOperation": { + "type": "string", + "enum": [ + { + "name": "CreateCertificateFromCsr", + "value": "CreateCertificateFromCsr" + } + ] + }, + "aws-native:iot:CertificateProviderTag": { + "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 127 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 1 to 255 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:iot:CertificateStatus": { "type": "string", "enum": [ @@ -52904,6 +54949,10 @@ "name": "RecordDeAggregation", "value": "RecordDeAggregation" }, + { + "name": "Decompression", + "value": "Decompression" + }, { "name": "Lambda", "value": "Lambda" @@ -53830,6 +55879,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 +55891,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 +55904,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 +68000,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 +68047,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 +68105,10 @@ "description": "A list of subnet IDs associated with the VPC endpoint." } }, - "type": "object" + "type": "object", + "required": [ + "subnetIds" + ] }, "aws-native:panorama:ApplicationInstanceHealthStatus": { "type": "string", @@ -108215,6 +110301,18 @@ { "name": "BucketKeyStatus", "value": "BucketKeyStatus" + }, + { + "name": "ChecksumAlgorithm", + "value": "ChecksumAlgorithm" + }, + { + "name": "ObjectAccessControlList", + "value": "ObjectAccessControlList" + }, + { + "name": "ObjectOwner", + "value": "ObjectOwner" } ] }, @@ -108277,6 +110375,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } }, "type": "object" @@ -109100,6 +111201,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 +111885,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 +112583,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 +113173,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 +113232,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 +113293,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 +113720,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 +113801,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 +113848,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 +113862,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 +113949,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 +118154,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } }, "type": "object" @@ -116374,6 +118683,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 +118742,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 +119159,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 +119224,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 +119268,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", @@ -117895,6 +120380,10 @@ }, "type": "object" }, + "aws-native:securityhub:HubTags": { + "description": "A key-value pair to associate with a resource.", + "type": "object" + }, "aws-native:securityhub:StandardsControl": { "description": "An individual StandardsControl within the Standard.", "properties": { @@ -133638,6 +136127,339 @@ "autoScalingGroupName" ] }, + "aws-native:b2bi:Capability": { + "description": "Definition of AWS::B2BI::Capability Resource Type", + "properties": { + "capabilityArn": { + "type": "string" + }, + "capabilityId": { + "type": "string" + }, + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "createdAt": { + "type": "string" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityType", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "capabilityArn", + "capabilityId", + "configuration", + "createdAt", + "modifiedAt", + "name", + "type" + ], + "inputProperties": { + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + }, + "type": { + "$ref": "#/types/aws-native:b2bi:CapabilityType" + } + }, + "requiredInputs": [ + "configuration", + "type" + ] + }, + "aws-native:b2bi:Partnership": { + "description": "Definition of AWS::B2BI::Partnership Resource Type", + "properties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string", + "replaceOnChanges": true + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "partnershipArn": { + "type": "string" + }, + "partnershipId": { + "type": "string" + }, + "phone": { + "type": "string", + "replaceOnChanges": true + }, + "profileId": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + }, + "tradingPartnerId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "createdAt", + "email", + "modifiedAt", + "name", + "partnershipArn", + "partnershipId", + "profileId", + "tradingPartnerId" + ], + "inputProperties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + } + }, + "requiredInputs": [ + "email", + "profileId" + ] + }, + "aws-native:b2bi:Profile": { + "description": "Definition of AWS::B2BI::Profile Resource Type", + "properties": { + "businessName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logGroupName": { + "type": "string" + }, + "logging": { + "$ref": "#/types/aws-native:b2bi:ProfileLogging", + "replaceOnChanges": true + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileArn": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + }, + "type": "object", + "required": [ + "businessName", + "createdAt", + "logGroupName", + "logging", + "modifiedAt", + "name", + "phone", + "profileArn", + "profileId" + ], + "inputProperties": { + "businessName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logging": { + "$ref": "#/types/aws-native:b2bi:ProfileLogging" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + }, + "requiredInputs": [ + "businessName", + "logging", + "phone" + ] + }, + "aws-native:b2bi:Transformer": { + "description": "Definition of AWS::B2BI::Transformer Resource Type", + "properties": { + "createdAt": { + "type": "string" + }, + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + }, + "transformerArn": { + "type": "string" + }, + "transformerId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "createdAt", + "ediType", + "fileFormat", + "mappingTemplate", + "name", + "status", + "transformerArn", + "transformerId" + ], + "inputProperties": { + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + } + }, + "requiredInputs": [ + "ediType", + "fileFormat", + "mappingTemplate", + "status" + ] + }, "aws-native:backup:BackupPlan": { "description": "Resource Type definition for AWS::Backup::BackupPlan", "properties": { @@ -134218,6 +137040,127 @@ "type" ] }, + "aws-native:batch:JobDefinition": { + "description": "Resource Type definition for AWS::Batch::JobDefinition", + "properties": { + "containerOrchestrationType": { + "type": "string" + }, + "containerProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties", + "replaceOnChanges": true + }, + "eksProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties", + "replaceOnChanges": true + }, + "jobDefinitionArn": { + "type": "string" + }, + "jobDefinitionName": { + "type": "string", + "replaceOnChanges": true + }, + "nodeProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties", + "replaceOnChanges": true + }, + "parameters": { + "$ref": "pulumi.json#/Any", + "replaceOnChanges": true + }, + "platformCapabilities": { + "type": "array", + "items": { + "type": "string" + }, + "replaceOnChanges": true + }, + "propagateTags": { + "type": "boolean", + "replaceOnChanges": true + }, + "retryStrategy": { + "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy", + "replaceOnChanges": true + }, + "revision": { + "type": "integer" + }, + "schedulingPriority": { + "type": "integer", + "replaceOnChanges": true + }, + "status": { + "type": "string" + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." + }, + "timeout": { + "$ref": "#/types/aws-native:batch:JobDefinitionJobTimeout", + "replaceOnChanges": true + }, + "type": { + "type": "string", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "containerOrchestrationType", + "jobDefinitionArn", + "revision", + "status", + "type" + ], + "inputProperties": { + "containerProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionContainerProperties" + }, + "eksProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionEksProperties" + }, + "jobDefinitionName": { + "type": "string" + }, + "nodeProperties": { + "$ref": "#/types/aws-native:batch:JobDefinitionNodeProperties" + }, + "parameters": { + "$ref": "pulumi.json#/Any" + }, + "platformCapabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "propagateTags": { + "type": "boolean" + }, + "retryStrategy": { + "$ref": "#/types/aws-native:batch:JobDefinitionRetryStrategy" + }, + "schedulingPriority": { + "type": "integer" + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." + }, + "timeout": { + "$ref": "#/types/aws-native:batch:JobDefinitionJobTimeout" + }, + "type": { + "type": "string" + } + }, + "requiredInputs": [ + "type" + ] + }, "aws-native:batch:JobQueue": { "description": "Resource Type definition for AWS::Batch::JobQueue", "properties": { @@ -134573,6 +137516,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 +138136,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -135053,6 +138190,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -135275,6 +138415,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -135302,6 +138445,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -136706,6 +139852,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 +139933,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 +140917,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 +140941,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 +143313,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 +143347,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 +147921,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 +148298,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", @@ -148311,6 +151850,10 @@ "type": "string", "description": "The primary identifier of the resource generated by the service." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "destinationCidrBlock": { "type": "string", "description": "The IPv4 CIDR block used for the destination match.", @@ -148378,6 +151921,10 @@ "type": "string", "description": "The ID of the carrier gateway." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "destinationCidrBlock": { "type": "string", "description": "The IPv4 CIDR block used for the destination match." @@ -148477,6 +152024,129 @@ "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:SnapshotBlockPublicAccess": { + "description": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + }, + "type": "object", + "required": [ + "accountId", + "state" + ], + "inputProperties": { + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + }, + "requiredInputs": [ + "state" + ] + }, "aws-native:ec2:SpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "properties": { @@ -152044,6 +155714,9 @@ "aws-native:eks:Cluster": { "description": "An object representing an Amazon EKS cluster.", "properties": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "arn": { "type": "string", "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod." @@ -152123,6 +155796,9 @@ "roleArn" ], "inputProperties": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "encryptionConfig": { "type": "array", "items": { @@ -152807,10 +156483,8 @@ "required": [ "arn", "createTime", - "endpoint", "engine", "fullEngineVersion", - "readerEndpoint", "serverlessCacheName", "status" ], @@ -152826,6 +156500,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 +156519,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 +157776,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 +157831,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 +157883,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 +157929,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 +158907,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": { @@ -155225,6 +159055,100 @@ "registryName" ] }, + "aws-native:eventschemas:Schema": { + "description": "Resource Type definition for AWS::EventSchemas::Schema\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 executionStatusChangeSchema = new AwsNative.EventSchemas.Schema(\"executionStatusChangeSchema\", new()\n {\n RegistryName = \"aws.events\",\n SchemaName = \"ExecutionStatusChange\",\n Description = \"event emitted when the status of a state machine execution change\",\n Type = \"OpenApi3\",\n Content = \"{ \\\"openapi\\\": \\\"3.0.0\\\", \\\"info\\\": { \\\"version\\\": \\\"1.0.0\\\", \\\"title\\\": \\\"StepFunctionsExecutionStatusChange\\\" }, \\\"paths\\\":{}, \\\"components\\\": { \\\"schemas\\\": { \\\"StepFunctionsExecutionStatusChange\\\": { \\\"type\\\": \\\"object\\\", \\\"required\\\": [ \\\"output\\\", \\\"input\\\", \\\"executionArn\\\", \\\"name\\\", \\\"stateMachineArn\\\", \\\"startDate\\\", \\\"stopDate\\\", \\\"status\\\" ], \\\"properties\\\": { \\\"output\\\": {\\\"type\\\": \\\"string\\\",\\\"nullable\\\": true}, \\\"input\\\": {\\\"type\\\": \\\"string\\\"}, \\\"executionArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"name\\\": {\\\"type\\\": \\\"string\\\"}, \\\"stateMachineArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"startDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\"}, \\\"stopDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\",\\\"nullable\\\": true}, \\\"status\\\": {\\\"type\\\": \\\"string\\\",\\\"enum\\\": [ \\\"FAILED\\\", \\\"RUNNING\\\", \\\"SUCCEEDED\\\", \\\"ABORTED\\\" ]} } } } } }\",\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.NewSchema(ctx, \"executionStatusChangeSchema\", \u0026eventschemas.SchemaArgs{\n\t\t\tRegistryName: pulumi.String(\"aws.events\"),\n\t\t\tSchemaName: pulumi.String(\"ExecutionStatusChange\"),\n\t\t\tDescription: pulumi.String(\"event emitted when the status of a state machine execution change\"),\n\t\t\tType: pulumi.String(\"OpenApi3\"),\n\t\t\tContent: pulumi.String(\"{ \\\"openapi\\\": \\\"3.0.0\\\", \\\"info\\\": { \\\"version\\\": \\\"1.0.0\\\", \\\"title\\\": \\\"StepFunctionsExecutionStatusChange\\\" }, \\\"paths\\\":{}, \\\"components\\\": { \\\"schemas\\\": { \\\"StepFunctionsExecutionStatusChange\\\": { \\\"type\\\": \\\"object\\\", \\\"required\\\": [ \\\"output\\\", \\\"input\\\", \\\"executionArn\\\", \\\"name\\\", \\\"stateMachineArn\\\", \\\"startDate\\\", \\\"stopDate\\\", \\\"status\\\" ], \\\"properties\\\": { \\\"output\\\": {\\\"type\\\": \\\"string\\\",\\\"nullable\\\": true}, \\\"input\\\": {\\\"type\\\": \\\"string\\\"}, \\\"executionArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"name\\\": {\\\"type\\\": \\\"string\\\"}, \\\"stateMachineArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"startDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\"}, \\\"stopDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\",\\\"nullable\\\": true}, \\\"status\\\": {\\\"type\\\": \\\"string\\\",\\\"enum\\\": [ \\\"FAILED\\\", \\\"RUNNING\\\", \\\"SUCCEEDED\\\", \\\"ABORTED\\\" ]} } } } } }\"),\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 executionStatusChangeSchema = new aws_native.eventschemas.Schema(\"executionStatusChangeSchema\", {\n registryName: \"aws.events\",\n schemaName: \"ExecutionStatusChange\",\n description: \"event emitted when the status of a state machine execution change\",\n type: \"OpenApi3\",\n content: \"{ \\\"openapi\\\": \\\"3.0.0\\\", \\\"info\\\": { \\\"version\\\": \\\"1.0.0\\\", \\\"title\\\": \\\"StepFunctionsExecutionStatusChange\\\" }, \\\"paths\\\":{}, \\\"components\\\": { \\\"schemas\\\": { \\\"StepFunctionsExecutionStatusChange\\\": { \\\"type\\\": \\\"object\\\", \\\"required\\\": [ \\\"output\\\", \\\"input\\\", \\\"executionArn\\\", \\\"name\\\", \\\"stateMachineArn\\\", \\\"startDate\\\", \\\"stopDate\\\", \\\"status\\\" ], \\\"properties\\\": { \\\"output\\\": {\\\"type\\\": \\\"string\\\",\\\"nullable\\\": true}, \\\"input\\\": {\\\"type\\\": \\\"string\\\"}, \\\"executionArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"name\\\": {\\\"type\\\": \\\"string\\\"}, \\\"stateMachineArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"startDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\"}, \\\"stopDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\",\\\"nullable\\\": true}, \\\"status\\\": {\\\"type\\\": \\\"string\\\",\\\"enum\\\": [ \\\"FAILED\\\", \\\"RUNNING\\\", \\\"SUCCEEDED\\\", \\\"ABORTED\\\" ]} } } } } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nexecution_status_change_schema = aws_native.eventschemas.Schema(\"executionStatusChangeSchema\",\n registry_name=\"aws.events\",\n schema_name=\"ExecutionStatusChange\",\n description=\"event emitted when the status of a state machine execution change\",\n type=\"OpenApi3\",\n content=\"{ \\\"openapi\\\": \\\"3.0.0\\\", \\\"info\\\": { \\\"version\\\": \\\"1.0.0\\\", \\\"title\\\": \\\"StepFunctionsExecutionStatusChange\\\" }, \\\"paths\\\":{}, \\\"components\\\": { \\\"schemas\\\": { \\\"StepFunctionsExecutionStatusChange\\\": { \\\"type\\\": \\\"object\\\", \\\"required\\\": [ \\\"output\\\", \\\"input\\\", \\\"executionArn\\\", \\\"name\\\", \\\"stateMachineArn\\\", \\\"startDate\\\", \\\"stopDate\\\", \\\"status\\\" ], \\\"properties\\\": { \\\"output\\\": {\\\"type\\\": \\\"string\\\",\\\"nullable\\\": true}, \\\"input\\\": {\\\"type\\\": \\\"string\\\"}, \\\"executionArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"name\\\": {\\\"type\\\": \\\"string\\\"}, \\\"stateMachineArn\\\": {\\\"type\\\": \\\"string\\\"}, \\\"startDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\"}, \\\"stopDate\\\": {\\\"type\\\": \\\"integer\\\",\\\"format\\\": \\\"int64\\\",\\\"nullable\\\": true}, \\\"status\\\": {\\\"type\\\": \\\"string\\\",\\\"enum\\\": [ \\\"FAILED\\\", \\\"RUNNING\\\", \\\"SUCCEEDED\\\", \\\"ABORTED\\\" ]} } } } } }\")\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "content": { + "type": "string", + "description": "The source of the schema definition." + }, + "description": { + "type": "string", + "description": "A description of the schema." + }, + "lastModified": { + "type": "string", + "description": "The last modified time of the schema." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry.", + "replaceOnChanges": true + }, + "schemaArn": { + "type": "string", + "description": "The ARN of the schema." + }, + "schemaName": { + "type": "string", + "description": "The name of the schema.", + "replaceOnChanges": true + }, + "schemaVersion": { + "type": "string", + "description": "The version number of the schema." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" + }, + "description": "Tags associated with the resource." + }, + "type": { + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + }, + "versionCreatedDate": { + "type": "string", + "description": "The date the schema version was created." + } + }, + "type": "object", + "required": [ + "content", + "lastModified", + "registryName", + "schemaArn", + "schemaVersion", + "type", + "versionCreatedDate" + ], + "inputProperties": { + "content": { + "type": "string", + "description": "The source of the schema definition." + }, + "description": { + "type": "string", + "description": "A description of the schema." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry." + }, + "schemaName": { + "type": "string", + "description": "The name of the schema." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" + }, + "description": "Tags associated with the resource." + }, + "type": { + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + } + }, + "requiredInputs": [ + "content", + "registryName", + "type" + ] + }, "aws-native:evidently:Experiment": { "description": "Resource Type definition for AWS::Evidently::Experiment.", "properties": { @@ -155777,6 +159701,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -155812,6 +159739,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -155839,6 +159769,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": { @@ -156972,6 +160946,11 @@ "$ref": "#/types/aws-native:gamelift:FleetAnywhereConfiguration", "description": "Configuration for Anywhere fleet." }, + "applyCapacity": { + "$ref": "#/types/aws-native:gamelift:FleetApplyCapacity", + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", + "replaceOnChanges": true + }, "buildId": { "type": "string", "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", @@ -157114,6 +161093,10 @@ "$ref": "#/types/aws-native:gamelift:FleetAnywhereConfiguration", "description": "Configuration for Anywhere fleet." }, + "applyCapacity": { + "$ref": "#/types/aws-native:gamelift:FleetApplyCapacity", + "description": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer." + }, "buildId": { "type": "string", "description": "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created." @@ -160041,7 +164024,8 @@ "properties": { "groupId": { "type": "string", - "description": "The unique identifier for a group in the identity store." + "description": "The unique identifier for a group in the identity store.", + "replaceOnChanges": true }, "identityStoreId": { "type": "string", @@ -160050,7 +164034,8 @@ }, "memberId": { "$ref": "#/types/aws-native:identitystore:GroupMembershipMemberId", - "description": "An object containing the identifier of a group member." + "description": "An object containing the identifier of a group member.", + "replaceOnChanges": true }, "membershipId": { "type": "string", @@ -160449,6 +164434,10 @@ "description": "Collects additional information about the image being created, including the operating system (OS) version and package list.", "replaceOnChanges": true }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageId": { "type": "string", "description": "The AMI ID of the EC2 AMI in current region." @@ -160485,6 +164474,14 @@ "$ref": "pulumi.json#/Any", "description": "The tags associated with the image.", "replaceOnChanges": true + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfiguration" + }, + "description": "Workflows to define the image build process", + "replaceOnChanges": true } }, "type": "object", @@ -160507,6 +164504,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -160526,6 +164527,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags associated with the image." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImageWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } } }, @@ -160552,6 +164560,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -160584,6 +164596,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } }, "type": "object", @@ -160607,6 +164626,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -160638,6 +164661,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } } }, @@ -160991,6 +165021,109 @@ "resourceType" ] }, + "aws-native:imagebuilder:Workflow": { + "description": "Resource schema for AWS::ImageBuilder::Workflow", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + }, + "changeDescription": { + "type": "string", + "description": "The change description of the workflow.", + "replaceOnChanges": true + }, + "data": { + "type": "string", + "description": "The data of the workflow.", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the workflow.", + "replaceOnChanges": true + }, + "kmsKeyId": { + "type": "string", + "description": "The KMS key identifier used to encrypt the workflow.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the workflow.", + "replaceOnChanges": true + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "The tags associated with the workflow.", + "replaceOnChanges": true + }, + "type": { + "$ref": "#/types/aws-native:imagebuilder:WorkflowType", + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute.", + "replaceOnChanges": true + }, + "uri": { + "type": "string", + "description": "The uri of the workflow.", + "replaceOnChanges": true + }, + "version": { + "type": "string", + "description": "The version of the workflow.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "name", + "type", + "version" + ], + "inputProperties": { + "changeDescription": { + "type": "string", + "description": "The change description of the workflow." + }, + "data": { + "type": "string", + "description": "The data of the workflow." + }, + "description": { + "type": "string", + "description": "The description of the workflow." + }, + "kmsKeyId": { + "type": "string", + "description": "The KMS key identifier used to encrypt the workflow." + }, + "name": { + "type": "string", + "description": "The name of the workflow." + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "The tags associated with the workflow." + }, + "type": { + "$ref": "#/types/aws-native:imagebuilder:WorkflowType", + "description": "The type of the workflow denotes whether the workflow is used to build, test, or distribute." + }, + "uri": { + "type": "string", + "description": "The uri of the workflow." + }, + "version": { + "type": "string", + "description": "The version of the workflow." + } + }, + "requiredInputs": [ + "type", + "version" + ] + }, "aws-native:index:ExtensionResource": { "description": "A special resource that enables deploying CloudFormation Extensions (third-party resources). An extension has to be pre-registered in your AWS account in order to use this resource.", "properties": { @@ -161615,6 +165748,65 @@ "status" ] }, + "aws-native:iot:CertificateProvider": { + "description": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider.", + "properties": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "arn": { + "type": "string" + }, + "certificateProviderName": { + "type": "string", + "replaceOnChanges": true + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "accountDefaultForOperations", + "arn", + "lambdaFunctionArn" + ], + "inputProperties": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "certificateProviderName": { + "type": "string" + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "accountDefaultForOperations", + "lambdaFunctionArn" + ] + }, "aws-native:iot:CustomMetric": { "description": "A custom metric published by your devices to Device Defender.\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 batteryPercentageMetric = new AwsNative.IoT.CustomMetric(\"batteryPercentageMetric\", new()\n {\n MetricName = \"batteryPercentage\",\n DisplayName = \"Remaining battery percentage\",\n MetricType = AwsNative.IoT.CustomMetricMetricType.Number,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/iot\"\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 := iot.NewCustomMetric(ctx, \"batteryPercentageMetric\", \u0026iot.CustomMetricArgs{\n\t\t\tMetricName: pulumi.String(\"batteryPercentage\"),\n\t\t\tDisplayName: pulumi.String(\"Remaining battery percentage\"),\n\t\t\tMetricType: iot.CustomMetricMetricTypeNumber,\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 batteryPercentageMetric = new aws_native.iot.CustomMetric(\"batteryPercentageMetric\", {\n metricName: \"batteryPercentage\",\n displayName: \"Remaining battery percentage\",\n metricType: aws_native.iot.CustomMetricMetricType.Number,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nbattery_percentage_metric = aws_native.iot.CustomMetric(\"batteryPercentageMetric\",\n metric_name=\"batteryPercentage\",\n display_name=\"Remaining battery percentage\",\n metric_type=aws_native.iot.CustomMetricMetricType.NUMBER)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -167078,23 +171270,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 +171304,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 +171633,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 +171757,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 +174162,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 +174191,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 +174205,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 +174225,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 +174237,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 +174254,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 +174270,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 +174310,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 +174349,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 +181905,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -177729,6 +181924,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -177763,6 +181961,7 @@ "arn", "domainArn", "domainEndpoint", + "domainEndpointV2", "domainEndpoints", "serviceSoftwareOptions" ], @@ -177797,6 +181996,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -178334,6 +182536,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 +182602,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 +191800,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 +191823,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 +192547,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 +192595,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 +192608,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 +192637,7 @@ "domainName", "homeEfsFileSystemId", "securityGroupIdForDomainBoundary", + "singleSignOnApplicationArn", "singleSignOnManagedApplicationInstanceId", "subnetIds", "url", @@ -190447,6 +194664,56 @@ } } }, + "aws-native:securityhub:Hub": { + "description": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n", + "properties": { + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." + }, + "autoEnableControls": { + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" + }, + "controlFindingGenerator": { + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." + }, + "enableDefaultStandards": { + "type": "boolean", + "description": "Whether to enable the security standards that Security Hub has designated as automatically enabled." + }, + "subscribedAt": { + "type": "string", + "description": "The date and time when Security Hub was enabled in the account." + }, + "tags": { + "$ref": "#/types/aws-native:securityhub:HubTags" + } + }, + "type": "object", + "required": [ + "arn", + "subscribedAt" + ], + "inputProperties": { + "autoEnableControls": { + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" + }, + "controlFindingGenerator": { + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." + }, + "enableDefaultStandards": { + "type": "boolean", + "description": "Whether to enable the security standards that Security Hub has designated as automatically enabled." + }, + "tags": { + "$ref": "#/types/aws-native:securityhub:HubTags" + } + } + }, "aws-native:securityhub:Standard": { "description": "The AWS::SecurityHub::Standard resource represents the implementation of an individual AWS Security Hub Standard in your account. It requires you have SecurityHub enabled before you can enable the Standard.", "properties": { @@ -190703,6 +194970,18 @@ "aws-native:servicecatalogappregistry:Application": { "description": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application", "properties": { + "applicationName": { + "type": "string", + "description": "The name of the application. " + }, + "applicationTagKey": { + "type": "string", + "description": "The key of the AWS application tag, which is awsApplication. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value." + }, + "applicationTagValue": { + "type": "string", + "description": "The value of the AWS application tag, which is the identifier of an associated resource. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value. " + }, "arn": { "type": "string" }, @@ -190720,6 +194999,9 @@ }, "type": "object", "required": [ + "applicationName", + "applicationTagKey", + "applicationTagValue", "arn", "name" ], @@ -200454,6 +204736,203 @@ } } }, + "aws-native:b2bi:getCapability": { + "description": "Definition of AWS::B2BI::Capability Resource Type", + "inputs": { + "properties": { + "capabilityId": { + "type": "string" + } + }, + "required": [ + "capabilityId" + ] + }, + "outputs": { + "properties": { + "capabilityArn": { + "type": "string" + }, + "capabilityId": { + "type": "string" + }, + "configuration": { + "$ref": "#/types/aws-native:b2bi:CapabilityConfigurationProperties" + }, + "createdAt": { + "type": "string" + }, + "instructionsDocuments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityS3Location" + } + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:CapabilityTag" + } + } + } + } + }, + "aws-native:b2bi:getPartnership": { + "description": "Definition of AWS::B2BI::Partnership Resource Type", + "inputs": { + "properties": { + "partnershipId": { + "type": "string" + } + }, + "required": [ + "partnershipId" + ] + }, + "outputs": { + "properties": { + "capabilities": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "partnershipArn": { + "type": "string" + }, + "partnershipId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:PartnershipTag" + } + }, + "tradingPartnerId": { + "type": "string" + } + } + } + }, + "aws-native:b2bi:getProfile": { + "description": "Definition of AWS::B2BI::Profile Resource Type", + "inputs": { + "properties": { + "profileId": { + "type": "string" + } + }, + "required": [ + "profileId" + ] + }, + "outputs": { + "properties": { + "businessName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "email": { + "type": "string" + }, + "logGroupName": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "profileArn": { + "type": "string" + }, + "profileId": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:ProfileTag" + } + } + } + } + }, + "aws-native:b2bi:getTransformer": { + "description": "Definition of AWS::B2BI::Transformer Resource Type", + "inputs": { + "properties": { + "transformerId": { + "type": "string" + } + }, + "required": [ + "transformerId" + ] + }, + "outputs": { + "properties": { + "createdAt": { + "type": "string" + }, + "ediType": { + "$ref": "#/types/aws-native:b2bi:TransformerEdiTypeProperties" + }, + "fileFormat": { + "$ref": "#/types/aws-native:b2bi:TransformerFileFormat" + }, + "mappingTemplate": { + "type": "string" + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sampleDocument": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:b2bi:TransformerStatus" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:b2bi:TransformerTag" + } + }, + "transformerArn": { + "type": "string" + }, + "transformerId": { + "type": "string" + } + } + } + }, "aws-native:backup:getBackupPlan": { "description": "Resource Type definition for AWS::Backup::BackupPlan", "inputs": { @@ -200771,6 +205250,39 @@ } } }, + "aws-native:batch:getJobDefinition": { + "description": "Resource Type definition for AWS::Batch::JobDefinition", + "inputs": { + "properties": { + "jobDefinitionArn": { + "type": "string" + } + }, + "required": [ + "jobDefinitionArn" + ] + }, + "outputs": { + "properties": { + "containerOrchestrationType": { + "type": "string" + }, + "jobDefinitionArn": { + "type": "string" + }, + "revision": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "tags": { + "$ref": "pulumi.json#/Any", + "description": "A key-value pair to associate with a resource." + } + } + } + }, "aws-native:batch:getJobQueue": { "description": "Resource Type definition for AWS::Batch::JobQueue", "inputs": { @@ -200949,6 +205461,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 +205918,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -202211,6 +206820,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 +208583,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 +211115,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 +211350,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" @@ -208325,6 +213146,10 @@ "type": "string", "description": "The primary identifier of the resource generated by the service." }, + "coreNetworkArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the core network." + }, "egressOnlyInternetGatewayId": { "type": "string", "description": "The ID of the egress-only internet gateway." @@ -208393,6 +213218,58 @@ } } }, + "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:getSnapshotBlockPublicAccess": { + "description": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", + "inputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + } + }, + "required": [ + "accountId" + ] + }, + "outputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "state": { + "$ref": "#/types/aws-native:ec2:SnapshotBlockPublicAccessState", + "description": "The state of EBS Snapshot Block Public Access." + } + } + } + }, "aws-native:ec2:getSpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "inputs": { @@ -210198,6 +215075,9 @@ }, "outputs": { "properties": { + "accessConfig": { + "$ref": "#/types/aws-native:eks:ClusterAccessConfig" + }, "arn": { "type": "string", "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod." @@ -211728,6 +216608,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": { @@ -211757,6 +216715,59 @@ } } }, + "aws-native:eventschemas:getSchema": { + "description": "Resource Type definition for AWS::EventSchemas::Schema", + "inputs": { + "properties": { + "schemaArn": { + "type": "string", + "description": "The ARN of the schema." + } + }, + "required": [ + "schemaArn" + ] + }, + "outputs": { + "properties": { + "content": { + "type": "string", + "description": "The source of the schema definition." + }, + "description": { + "type": "string", + "description": "A description of the schema." + }, + "lastModified": { + "type": "string", + "description": "The last modified time of the schema." + }, + "schemaArn": { + "type": "string", + "description": "The ARN of the schema." + }, + "schemaVersion": { + "type": "string", + "description": "The version number of the schema." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:SchemaTagsEntry" + }, + "description": "Tags associated with the resource." + }, + "type": { + "type": "string", + "description": "The type of schema. Valid types include OpenApi3 and JSONSchemaDraft4." + }, + "versionCreatedDate": { + "type": "string", + "description": "The date the schema version was created." + } + } + } + }, "aws-native:evidently:getExperiment": { "description": "Resource Type definition for AWS::Evidently::Experiment.", "inputs": { @@ -212071,6 +217082,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "id": { "type": "string" }, @@ -212092,6 +217106,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": { @@ -214515,14 +219556,6 @@ }, "outputs": { "properties": { - "groupId": { - "type": "string", - "description": "The unique identifier for a group in the identity store." - }, - "memberId": { - "$ref": "#/types/aws-native:identitystore:GroupMembershipMemberId", - "description": "An object containing the identifier of a group member." - }, "membershipId": { "type": "string", "description": "The identifier for a GroupMembership in the identity store." @@ -214638,6 +219671,10 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the image." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageId": { "type": "string", "description": "The AMI ID of the EC2 AMI in current region." @@ -214688,6 +219725,10 @@ "type": "boolean", "description": "Collects additional information about the image being created, including the operating system (OS) version and package list." }, + "executionRole": { + "type": "string", + "description": "The execution role name/ARN for the image build, if provided" + }, "imageRecipeArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed." @@ -214715,6 +219756,13 @@ "tags": { "$ref": "pulumi.json#/Any", "description": "The tags of this image pipeline." + }, + "workflows": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:imagebuilder:ImagePipelineWorkflowConfiguration" + }, + "description": "Workflows to define the image build process" } } } @@ -214874,6 +219922,28 @@ } } }, + "aws-native:imagebuilder:getWorkflow": { + "description": "Resource schema for AWS::ImageBuilder::Workflow", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the workflow." + } + } + } + }, "aws-native:index:cidr": { "inputs": { "properties": { @@ -215376,6 +220446,42 @@ } } }, + "aws-native:iot:getCertificateProvider": { + "description": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider.", + "inputs": { + "properties": { + "certificateProviderName": { + "type": "string" + } + }, + "required": [ + "certificateProviderName" + ] + }, + "outputs": { + "properties": { + "accountDefaultForOperations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderOperation" + } + }, + "arn": { + "type": "string" + }, + "lambdaFunctionArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:CertificateProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, "aws-native:iot:getCustomMetric": { "description": "A custom metric published by your devices to Device Defender.", "inputs": { @@ -218573,15 +223679,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 +223701,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 +225081,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 +225097,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 +225134,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 +225142,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 +225171,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 +225182,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 +229260,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -224164,6 +229278,9 @@ "id": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -224481,6 +229598,12 @@ }, "outputs": { "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -228489,13 +233612,13 @@ "description": "Resource schema for AWS::Route53Resolver::ResolverConfig.", "inputs": { "properties": { - "id": { + "resourceId": { "type": "string", - "description": "Id" + "description": "ResourceId" } }, "required": [ - "id" + "resourceId" ] }, "outputs": { @@ -229151,7 +234274,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 +234621,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 +234656,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." @@ -230434,6 +235572,43 @@ } } }, + "aws-native:securityhub:getHub": { + "description": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "An ARN is automatically created for the customer." + }, + "autoEnableControls": { + "type": "boolean", + "description": "Whether to automatically enable new controls when they are added to standards that are enabled" + }, + "controlFindingGenerator": { + "type": "string", + "description": "This field, used when enabling Security Hub, specifies whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards." + }, + "subscribedAt": { + "type": "string", + "description": "The date and time when Security Hub was enabled in the account." + }, + "tags": { + "$ref": "#/types/aws-native:securityhub:HubTags" + } + } + } + }, "aws-native:securityhub:getStandard": { "description": "The AWS::SecurityHub::Standard resource represents the implementation of an individual AWS Security Hub Standard in your account. It requires you have SecurityHub enabled before you can enable the Standard.", "inputs": { @@ -230578,6 +235753,18 @@ }, "outputs": { "properties": { + "applicationName": { + "type": "string", + "description": "The name of the application. " + }, + "applicationTagKey": { + "type": "string", + "description": "The key of the AWS application tag, which is awsApplication. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value." + }, + "applicationTagValue": { + "type": "string", + "description": "The value of the AWS application tag, which is the identifier of an associated resource. Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value. " + }, "arn": { "type": "string" }, @@ -231449,9 +236636,6 @@ "$ref": "#/types/aws-native:ssm:AssociationTarget" }, "description": "The targets that the SSM document sends commands to." - }, - "waitForSuccessTimeoutSeconds": { - "type": "integer" } } } 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 { ///